class Solution {
public:
bool wordBreak(string s, unordered_set<string> &dict) {
int len = s.length();
if(len == 0){
return true;
}
vector<bool> dp;
dp.resize(len + 1, 0);
dp[0] = true;
for(int i = 1; i <= len; ++i){
for(int j = 1; j <= i; ++j){
if((dict.find(s.substr(i - j, j)) != dict.end()) && dp[i - j]){
dp[i] = true;
}
}
}
return dp[len];
}
};
上述代码并没有判断重复使用单词的情况,但是也过了..