class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
unordered_set <string> wordlist(wordDict.begin(),wordDict.end());
vector<bool>dp(s.size()+1,false);
dp[0]=true;
for(int i=1;i<=s.size();i++){
for(int j=0;j<i;j++){
string word=s.substr(j,i-j);
if(wordlist.find(word)!=wordlist.end()&&dp[j]){
dp[i]=true;
}
}
}
return dp[s.size()];
}
};
这个题就比较恶心了 首先就是你得把要找的目标字符串分割 然后跟数组一个一个的比对