107. 单词拆分 I
给定字符串 s 和单词字典 dict,确定 s 是否可以分成一个或多个以空格分隔的子串,并且这些子串都在字典中存在。
因为我们已经使用了更强大的数据,所以普通的DFS方法已经无法通过此题。
样例
样例 1:
输入: "lintcode", ["lint", "code"]
输出: true
样例 2:
输入: "a", ["a"]
输出: true
注意事项
s.length <= 1e5
dict.size <= 1e5
public class Solution {
/**
* @param s: A string
* @param wordSet: A dictionary of words dict
* @return: A boolean
*/
public boolean wordBreak(String s, Set<String> wordSet) {
// write your code here
if (wordSet.contains(s)||s.length()<1)return true;
int start=0;
for (int i = 1; i <= s.length(); i++) {
String temp=s.substring(start,i);
if (wordSet.contains(temp)){
start=i;
if(wordBreak(s.substring(start),wordSet))return true;
}
}
return false;
}
}