题目:
示例:
解释
提示:
代码:
class MagicDictionary {
String[] dictionary;
/** Initialize your data structure here. */
public MagicDictionary() {
dictionary = null;
}
public void buildDict(String[] dictionary) {
this.dictionary = dictionary;
}
public boolean search(String searchWord) {
boolean flag = false;
for (String str : dictionary) {
flag = getRes(str, searchWord);
if (flag) {
return flag;
}
}
return false;
}
public boolean getRes(String str1, String str2) {
if (str1.length() != str2.length() || str1.equals(str2)) {
return false;
}
int count = 0;
for (int i = 0; i < str1.length(); i++) {
char a = str1.charAt(i);
char b = str2.charAt(i);
if (a != b) {
if (++count > 1) {
return false;
}
}
}
return true;
}
}
/**
* Your MagicDictionary object will be instantiated and called as such:
* MagicDictionary obj = new MagicDictionary();
* obj.buildDict(dictionary);
* boolean param_2 = obj.search(searchWord);
*/
解题思路:
这道题并没有使用前缀树,是直接比较两个字符串中有几个不同的字符。
注意:
天天开心。
参考链接:
力扣