- 注意字符串下标和dp下标的对应关系, 因为dp的空间比s的大小多1, 所以字符串下标i对应到dp中的下标就是i+1
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
int size = s.length();
vector<int> dp(size+1, 0);
dp[0] = 1;
unordered_set<string> wd(wordDict.begin(), wordDict.end());
for (int i = 0; i < size; i++) {
for (int j = i; j >= 0; j--) {
string tmp = s.substr(j, i - j + 1);
if (wd.count(tmp) && dp[j] == 1) {
dp[i+1] = 1;
}
}
}
return dp[size];
}
};