题目:
该题目就是要求就是有一个字符串s,有一个列表,里面的元素自定义,检查该列表中的元素能否拼接成字符串s,列表的某个元素可以使用多次。
解答题目:
这个题目的解法是参考网上的,网上用的是动态规划的方法。
代码实现:
public boolean wordBreak(String s, List<String> dict) {
int len = s.length();
boolean[] dp = new boolean[len + 1];
dp[0] = true;
for (int i = 1; i <= len; i++)
for (int j = 0; j < i; j++) {
// substring是前闭后开
String tmp = s.substring(j, i);
if (dp[j] && dict.contains(tmp)) {
dp[i] = true;
}
}
return dp[len];
}
运行截图: