首页 > 代码库 > leetcode算法 - Word Break II js实现
leetcode算法 - Word Break II js实现
题目如下:
Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.
Return all such possible sentences.
For example, given
s = "catsanddog",
dict = ["cat", "cats", "and", "sand", "dog"].
A solution is ["cats and dog", "cat sand dog"].
思路:用数组构造一个hashmap,用数组模拟栈模型, 用栈模型实现dps(深度优先算法)。
核心代码:
function solve(start){
var childMap=map[hash(start)];
var childMapLength=childMap.length;
for(var i=0;i<childMapLength;i++){
stack.push(childMap[i]);
if(childMap[i].finish===s.length){ //正确答案
answer.push(stringify(stack))
}else{
solve(childMap[i].finish); //递归
}
stack.pop();
}
}
solve(0);
测试结果
dict:
s=“abcdefghijk”
result:
leetcode算法 - Word Break II js实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。