LeetCode 648 : Replace Words(java)
来源:互联网 发布:python telnetlib详解 编辑:程序博客网 时间:2024/06/05 20:27
原题
In English, we have a concept called root, which can be followed by some other words to form another longer word - let’s call this word successor. For example, the root an, followed by other, which can form another word another.
Now, given a dictionary consisting of many roots and a sentence. You need to replace all the successor in the sentence with the root forming it. If a successor has many roots can form it, replace it with the root with the shortest length.
You need to output the sentence after the replacement.
Example 1:
Input: dict = [“cat”, “bat”, “rat”]
sentence = “the cattle was rattled by the battery”
Output: “the cat was rat by the bat”
Note:
The input will only have lower-case letters.
1 <= dict words number <= 1000
1 <= sentence words number <= 1000
1 <= root length <= 100
1 <= sentence words length <= 1000
思路
已知sentence和缩写list,把sentence中的word按照一定规则转换成其缩写,并返回sentence。解题思路是,用一个hashset存储缩写list中的元素,把sentence通过split(” “)分割成单词array,逐个单词对应查找其缩写并转换成其缩写,再把缩写后的单词array合成sentence并返回。
代码
public class Solution { public String replaceWords(List<String> dict, String sentence) { Set<String> set=new HashSet<String>(); set.addAll(dict); String Words[]=sentence.split(" "); String replaceWords=""; for(int i=0;i<Words.length;i++) for(int j=0;j<Words[i].length();j++) //查找单词的缩写 if(set.contains(Words[i].substring(0,j+1))){ //把单词转换成其缩写格式 Words[i]=Words[i].substring(0,j+1); break; } //合成replaceWords后的sentence for(int i=0;i<Words.length;i++) replaceWords+=(Words[i]+" "); return replaceWords.substring(0,replaceWords.length()-1); }}
- LeetCode 648 : Replace Words(java)
- LeetCode.648 Replace Words
- LeetCode#648 Replace Words (week14)
- Leetcode--648. Replace Words
- leetcode 648. Replace Words
- leetcode-648. Replace Words
- leetcode 648. Replace Words
- leetcode 648. Replace Words
- LeetCode 648. Replace Words 字典树练习
- leetcode 648. Replace Words 字典树
- 【LeetCode】648.Replace Words(Medium)解题报告
- leetcode 648. Replace Words 公共前缀
- Replace Words
- Leetcode 648. Replace Words 替换词语 解题报告
- 648. Replace Words
- 648. Replace Words
- 648. Replace Words
- 648. Replace Words
- 迷宫问题
- 一些常用的行级标签和块级标签
- 12期 8月期刊自荐
- POJ 3096
- js中的继承
- LeetCode 648 : Replace Words(java)
- CSU-ACM2017暑假集训2-二分搜索 poj3104-drying
- plsql继续试用方法
- u3d
- 【TFS定制】TFS模板编辑:简单操作介绍
- LinkedHashMap实现缓存
- 网络流算法--FORD-FULKERSON方法及其多种实现
- u3d知识点
- Mac OS搭建python环境下的Selenium web测试环境