*LeetCode-Add and Search Word - Data structure design
来源:互联网 发布:第二基地知乎 编辑:程序博客网 时间:2024/06/05 02:38
这个题的trie tree解法以后要记得看
首先我想的每次add一个词 就add bad/ .ad / ..d / b.d太慢了
应该是用map存 用长度做key 一个list存这个长度的所有string
然后每次首先判断长度 然后判断是否是完整的词 List有contains函数!!!
然后假如不是词 而是有.的 就一位一位判断
public class WordDictionary { HashMap<Integer,List<String>> dict = new HashMap<Integer, List<String>>(); // Adds a word into the data structure. public void addWord(String word) { if ( dict.containsKey( word.length() )){ List<String> list = dict.get( word.length() ); if ( !list.contains( word ) ) list.add ( word ); } else{ List<String> temp = new ArrayList<String>(); temp.add ( word ); dict.put ( word.length(), temp ); } } // Returns if the word is in the data structure. A word could // contain the dot character '.' to represent any one letter. public boolean search(String word) { if ( !dict.containsKey( word.length() )) return false; List<String> list = dict.get ( word.length() ); if ( isWord ( word ) ){ return list.contains( word ); } else { for ( String str: list ){ if ( same ( word, str ) ) return true; } } return false; } public boolean isWord ( String word ){ for ( int i = 0; i < word.length(); i++ ){ if ( !Character.isLetter( word.charAt(i) ) ) return false; } return true; } public boolean same ( String word, String str){ for ( int i = 0; i < word.length(); i ++ ) { if ( word.charAt(i) != str.charAt(i) && word.charAt(i) != '.') return false; } return true; }}
0 0
- LeetCode 211 - Add and Search Word - Data structure design
- LeetCode Add and Search Word - Data structure design
- Leetcode Add and Search Word - Data structure design
- leetcode:Add and Search Word - Data structure design
- [leetcode]Add and Search Word - Data structure design
- [LeetCode] Add and Search Word - Data structure design
- leetcode #211 Add and Search Word - Data structure design
- leetcode Add and Search Word - Data structure design
- [LeetCode]Add and Search Word - Data structure design,解题报告
- leetcode 211: Add and Search Word - Data structure design
- [Leetcode]Add and Search Word - Data structure design
- LeetCode Add and Search Word - Data structure design
- Leetcode: Add and Search Word - Data structure design
- [leetcode] Add and Search Word - Data structure design
- Leetcode: Add and Search Word - Data structure design (Java)
- leetcode Add and Search Word - Data structure design
- [leetcode] Add and Search Word - Data structure design
- leetcode--Add and Search Word - Data structure design
- C语言基本数据类型
- Handling Complexity in the Halo 2 AI
- LeetCode 题解(239) : Strobogrammatic Number II
- C#中RichTextBox中英文混输-等宽字体
- 正序和倒序输出乘法口诀表
- *LeetCode-Add and Search Word - Data structure design
- 组件化系统框架-序言
- tomcat指定war包路径
- Switch语句
- 关于StartCoroutine的简单线程使用
- NppExe插件使用
- 基本语言
- *LeetCode-Peeking Iterator
- 容器和算法