58 Star 717 Fork 331

doocs/leetcode

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
Solution.java 1.43 KB
Copy Edit Raw Blame History
ylb authored 2022-09-05 23:58 +08:00 . style: format code using clang-format
class Trie {
Trie[] children = new Trie[26];
boolean isEnd;
}
class WordDictionary {
private Trie trie;
/** Initialize your data structure here. */
public WordDictionary() {
trie = new Trie();
}
public void addWord(String word) {
Trie node = trie;
for (char c : word.toCharArray()) {
int idx = c - 'a';
if (node.children[idx] == null) {
node.children[idx] = new Trie();
}
node = node.children[idx];
}
node.isEnd = true;
}
public boolean search(String word) {
return search(word, trie);
}
private boolean search(String word, Trie node) {
for (int i = 0; i < word.length(); ++i) {
char c = word.charAt(i);
int idx = c - 'a';
if (c != '.' && node.children[idx] == null) {
return false;
}
if (c == '.') {
for (Trie child : node.children) {
if (child != null && search(word.substring(i + 1), child)) {
return true;
}
}
return false;
}
node = node.children[idx];
}
return node.isEnd;
}
}
/**
* Your WordDictionary object will be instantiated and called as such:
* WordDictionary obj = new WordDictionary();
* obj.addWord(word);
* boolean param_2 = obj.search(word);
*/
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Doocs/leetcode.git
[email protected]:Doocs/leetcode.git
Doocs
leetcode
leetcode
main

Search