2 Star 1 Fork 0

royce li/Leetcode_royce

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
replaceWords.js 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
royce li 提交于 2022-07-08 00:32 . 2022/07/08
/**
* @param {string[]} dictionary
* @param {string} sentence
* @return {string}
*/
var replaceWords = function(dictionary, sentence) {
const root = {
val: '_',
childs: {},
word: '',
valid: false
};
for(let d of dictionary) {
let curr = root;
for(let i = 0;i < d.length; i++) {
if(curr.childs[d[i]]) {
curr = curr.childs[d[i]];
} else {
let node = {
val: d[i],
childs:[],
word: curr.word + d[i],
valid: false
}
curr.childs[d[i]] = node;
curr = node;
}
}
curr.valid = true;
}
return sentence.split(' ').map(e => {
let curr = root;
for(let i = 0; i < e.length; i++) {
if(curr.childs[e[i]]) {
curr = curr.childs[e[i]];
if(curr.valid) {
return curr.word;
}
} else {
return e;
}
}
return e;
}).join(' ')
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/royce-li/leetcode_royce.git
git@gitee.com:royce-li/leetcode_royce.git
royce-li
leetcode_royce
Leetcode_royce
master

搜索帮助