思想是拆分字符串 判断0-j 和j-i 是否都匹配
0为dp数组起点 所以dp数组对应的的字符向后移动一位 1对应0 2对应1
public boolean wordBreak(String s, List<String> wordDict) {
int len = s.length()+1;
boolean dp[] = new boolean[len];
Set<String> set = new HashSet<>();
set.addAll(wordDict);
dp[0]=true;//起点
for (int i = 1; i < len; i++) {
for (int j = 0; j <i ; j++) {
if (dp[j]&&set.contains(s.substring(j,i))){//i此处不能+1 因为dp数组里对应的字符串往后移了一位
dp[i]=true;
break;
}
}
}
return dp[len-1];
}