当前位置: 首页> 文旅> 美景 > 重庆招聘网_最新收藏五个以上的本地域名_站长网站推广_b站推广app大全

重庆招聘网_最新收藏五个以上的本地域名_站长网站推广_b站推广app大全

时间:2025/7/10 16:59:55来源:https://blog.csdn.net/m0_57195758/article/details/142836671 浏览次数:0次
重庆招聘网_最新收藏五个以上的本地域名_站长网站推广_b站推广app大全

题目:

题解:

class Solution {Trie trie = new Trie();public List<String> findAllConcatenatedWordsInADict(String[] words) {List<String> ans = new ArrayList<String>();Arrays.sort(words, (a, b) -> a.length() - b.length());for (int i = 0; i < words.length; i++) {String word = words[i];if (word.length() == 0) {continue;}boolean[] visited = new boolean[word.length()];if (dfs(word, 0, visited)) {ans.add(word);} else {insert(word);}}return ans;}public boolean dfs(String word, int start, boolean[] visited) {if (word.length() == start) {return true;}if (visited[start]) {return false;}visited[start] = true;Trie node = trie;for (int i = start; i < word.length(); i++) {char ch = word.charAt(i);int index = ch - 'a';node = node.children[index];if (node == null) {return false;}if (node.isEnd) {if (dfs(word, i + 1, visited)) {return true;}}}return false;}public void insert(String word) {Trie node = trie;for (int i = 0; i < word.length(); i++) {char ch = word.charAt(i);int index = ch - 'a';if (node.children[index] == null) {node.children[index] = new Trie();}node = node.children[index];}node.isEnd = true;}
}class Trie {Trie[] children;boolean isEnd;public Trie() {children = new Trie[26];isEnd = false;}
}
关键字:重庆招聘网_最新收藏五个以上的本地域名_站长网站推广_b站推广app大全

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: