力扣-单词拆分

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;

}

}

相关推荐
章小幽6 分钟前
LeetCode-35.搜索插入位置
数据结构·算法·leetcode
放下华子我只抽RuiKe522 分钟前
机器学习全景指南-探索篇——发现数据内在结构的聚类算法
人工智能·深度学习·算法·机器学习·语言模型·数据挖掘·聚类
Yupureki35 分钟前
《C++实战项目-高并发内存池》3.ThreadCache构造
服务器·c语言·c++·算法·哈希算法
j_xxx404_41 分钟前
C++算法:一维/二维前缀和算法模板题
开发语言·数据结构·c++·算法
x_xbx44 分钟前
LeetCode:111. 二叉树的最小深度
算法·leetcode·职场和发展
入目星河滚烫1 小时前
网易互娱2020校招在线笔试—游戏研发第一批—游泳池-研发
算法·笔试·数据结构与算法
xier_ran1 小时前
【第一周】关键词解释:倒数排名融合(Reciprocal Rank Fusion, RRF)算法
开发语言·python·算法
spiritualfood1 小时前
蓝桥杯大学b组水质检测
c语言·c++·算法·青少年编程·职场和发展·蓝桥杯
进击的小头1 小时前
第6篇:贝尔曼最优化理论
python·算法·动态规划
EQUINOX11 小时前
bitset + meet in the middle,P3067 [USACO12OPEN] Balanced Cow Subsets G
算法