力扣-单词拆分

class Solution {

public boolean wordBreak(String s, List<String> wordDict) {

//目标:判断字符串s是否可以用wordDict中的单词组成(wordDict中的单词可以重复使用,也可以不全部用完)

//暴力法:

// s = 'leetcode'

//先试字典中的"leet" 检查leetcode是否以"leet"开头 去掉它 剩下子串是code 再递归去判断code能不能被拆分

return canBreak(s,wordDict);

}

//这个字符串s是否可以被成功拆分

public boolean canBreak(String s,List<String> wordDict){

if(s.isEmpty()){//空的也算

return true;

}

for(String word:wordDict){

if(s.startsWith(word)){

//如果是的 那么继续递归处理剩余字符串

if(canBreak(s.substring(word.length()),wordDict)){

return true;

}

}

}

return false;

}

}

相关推荐
章鱼丸-1 天前
DAY40 训练与测试规范写法
人工智能·算法·机器学习
代码飞天1 天前
算法与数据结构之又臭又长的表
数据结构·算法
A923A1 天前
【洛谷刷题 | 第七天】
算法·模拟·洛谷
故事和你911 天前
洛谷-入门4-数组3
开发语言·数据结构·c++·算法·动态规划·图论
玉树临风ives1 天前
atcoder ABC 451 题解
c++·算法·atcoder
_日拱一卒1 天前
LeetCode:和为K的子数组
算法·leetcode·职场和发展
周可温8411 天前
动手学RAG
算法
周可温8411 天前
Transformer 深度理解与动手实现
算法
扶摇接北海1761 天前
洛谷:B4488 [语言月赛 202602] 甜品食用
数据结构·c++·算法
直有两条腿1 天前
【机器学习】K-Means 算法
算法·机器学习·kmeans