211 Add and Search Word - Data structure design
来源:互联网 发布:apache启动级别和顺序 编辑:程序博客网 时间:2024/06/01 09:43
//Trie 树 + 深搜public class WordDictionary { public TrieNode root;public WordDictionary(){root = new TrieNode();}public void addWord(String word) { if(word==null||word.length()==0){return;}char[] letters = word.toCharArray();TrieNode node = root;for(int i=0;i<letters.length;++i){int pos = letters[i] - 'a';if(node.son[pos]==null){node.son[pos] = new TrieNode();node.son[pos].var = letters[i];}else{++node.son[pos].num;}node = node.son[pos];}node.isEnd = true; }public boolean search(String word) { if(word==null||word.length()==0){return false;}char[] letters = word.toCharArray();TrieNode node = root;return subSearch(root, word, 0); } public boolean subSearch(TrieNode node, String str, int depth){if(depth==str.length()){if(node.isEnd==true){return true;}else{return false;}}char[] letters = str.toCharArray();if(letters[depth]=='.'){boolean res = false;for(int i=0;i<26;++i){if(node.son[i]!=null){boolean flag = subSearch(node.son[i], str, depth + 1);if(flag==true){res = true;}}}return res;}else{int pos = letters[depth] - 'a';if(node.son[pos]!=null){return subSearch(node.son[pos], str, depth + 1);}else{return false;}}}}class TrieNode {public int num;private int SIZE = 26;public TrieNode[] son;public char var;public boolean isEnd;public TrieNode(){num = 1;son = new TrieNode[SIZE];isEnd = false;}}
0 0
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- Add and Search Word - Data structure design
- LeetCode 211 - Add and Search Word - Data structure design
- 211Add and Search Word - Data structure design
- leetcode #211 Add and Search Word - Data structure design
- leetcode 211: Add and Search Word - Data structure design
- [Leetcode 211, Medium] Add and Search Word - Data structure design
- LeetCode(211) Add and Search Word - Data structure design
- Leetcode 211 Add and Search Word - Data structure design
- javaEE之----------java代码发送邮件
- web.xml 配置中classpath: 与classpath*:的区别
- Ubuntu: Making your microphone work
- MS快速提交作业方法
- ZOOKeeper
- 211 Add and Search Word - Data structure design
- 全面理解Javascript闭包和闭包的几种写法及用途
- SQL Server表分区
- java 异步转同步工具类
- IIS站点禁用WebDav
- openfire3.10.3版 源码编译部署到本地eclipse
- [Android实例] 带clean按钮的输入框
- iOS crash log 解析 symbol address = stack address - slide 运行时获取slide的api 利用dwarfdump从dsym文件中得到symbol
- opencv学习之轮廓高级应用(轮廓匹配,几何直方图)