题目描述
给定一个数组:dictionary[]、一个句子:sentence;如果sentence的单词词根是:dictionary;那么使用dictionary中最短的词根进行替换。
示例1:
输入:
dictionary = ["cat","bat","rat"], sentence = "the cattle was rattled by the battery"
输出:"the cat was rat by the bat"
解题思路
1. 对sentence做遍历操作,如果遇到空格或者已经结束,则获取一个单词。
2. 对这个单词和dictionary中的词根做遍历,选择最小长度的词根,替换当前单词。
3. 构造完成新的句子后,返回该句子。
代码实现
import java.util.Arrays;
import java.util.List;
class Solution {
public String replaceWords(List<String> dictionary, String sentence) {
StringBuilder res = new StringBuilder();
for (int i = 0; i < sentence.length(); ) {
int start = i;
StringBuilder sb = new StringBuilder();
while