一、题目
二、代码
class Solution
{
public:
bool wordBreak(string s, vector<string>& wordDict)
{
int i,j;
s.insert(0,"a");
vector<int> dp(s.size(),0);
dp[0]=1;
for(i=1;i<s.size();i++)
{
for(j=0;j<wordDict.size();j++)
{
if(i>=wordDict[j].size())
{
string process_string=s.substr(1+i-wordDict[j].size(),wordDict[j].size());
if(dp[i-wordDict[j].size()]==1&&wordDict[j].compare(process_string)==0)
{
dp[i]=1;
// std::cout<<" 匹配 "<<i<<std::endl;
}
}
}
}
for(i=0;i<dp.size();i++) std::cout<<" "<<dp[i];
std::cout<<std::endl;
return dp[s.size()-1];
}
};