208. Implement Trie (Prefix Tree)
来源:互联网 发布:战争潜力知乎 编辑:程序博客网 时间:2024/05/18 04:00
trie树的实现
class TrieNode { //注意trie树类的成员变量 // Initialize your data structure here. public char val; //如果这里改成private char val 那么下面的node.val 无法使用 public boolean isWord; public TrieNode[] children=new TrieNode[26]; public TrieNode() { } TrieNode(char c){ TrieNode node=new TrieNode(); node.val=c; }}public class Trie { private TrieNode root; public Trie() { root = new TrieNode(); root.val=' '; } // Inserts a word into the trie. public void insert(String word) { TrieNode ws=root; for(int i=0;i<word.length();i++){ char c=word.charAt(i); if(ws.children[c-'a']==null){ ws.children[c-'a']=new TrieNode(c); } ws=ws.children[c-'a']; } ws.isWord=true; } // Returns if the word is in the trie. public boolean search(String word) { TrieNode ws=root; for(int i=0;i<word.length();i++){ char c=word.charAt(i); if(ws.children[c-'a']==null) return false; ws=ws.children[c-'a']; } return ws.isWord; } // Returns if there is any word in the trie // that starts with the given prefix. public boolean startsWith(String prefix) { TrieNode ws=root; for(int i=0;i<prefix.length();i++){ char c=prefix.charAt(i); if(ws.children[c-'a']==null) return false; ws=ws.children[c-'a']; } return true; }}// Your Trie object will be instantiated and called as such:// Trie trie = new Trie();// trie.insert("somestring");// trie.search("key");
0 0
- 208.Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- 208. Implement Trie (Prefix Tree)
- HDU Problem 简单计算器【栈】
- H5页面调用拍照上传图片
- [HDU5727] Necklace [2016 Multi-University Training Contest 1(2016多校联合训练1) E]
- The C++ Programming Language
- 100天土鸡饲养计划(9)
- 208. Implement Trie (Prefix Tree)
- 电脑显示链接网络正常但是不能上网,用某些软件会提示系统丢失libeay32.dll
- 算法竞赛入门经典(第二版)-刘汝佳-第四章 函数与递归 洪水!
- C#的第8节课
- SDUT3330顺序表应用6:有序顺序表查询
- eclipse中运行时java application与javaee run on server 他们分别的作用
- 链表:增加结点与删除节点
- static
- request.getParameterNames()步骤