题目描述:
1、动态规划
思路:这道题是要我们单词拆分来,能用字符串列表这个数组组成,我们就可以用到动态规划:
初始化 dp=[false,……,false],长度为 n+1。n 为字符串长度。dp[i] 表示 s 的前 i 位是否可以用 wordDict 中的单词表示。初始化 dp[0]=True,空字符可以被表示。
当我们遍历s单词字符串时,如果dp[i] =false,则退出循环,证明我们无法拼接到这个位置;
如果dp[i] = true,我们遍历字符串列表,依次匹配,看是否能匹配至s单词字符串,匹配成功,则设置该位置dp[word.length+1] = true;
看看代码:
public boolean wordBreak(String s, List<String>