public boolean wordBreakBF2(String s, Set<String> dict) {

    if (s.isEmpty()) {
      return true;
    }

    for (int i = 1 ; i <= s.length() ; i++) {
      String subStr = s.substring(0, i);
      if (dict.contains(subStr)) {
        if (wordBreakBF2(s.substring(i), dict)) {
          return true;
        }
      }
    }

    return false;
  }