zoukankan      html  css  js  c++  java
  • 211. Add and Search Word

    class WordDictionary {
    
        private WordDictionary[] children=new WordDictionary[26];
        
        boolean isWord=false;
        
        /** Initialize your data structure here. */
        public WordDictionary() {
            
        }
        
        /** Adds a word into the data structure. */
        public void addWord(String word) {
            if(word.length()==0)
            {
                isWord=true;
                return;
            }
            int idx=word.charAt(0)-'a';
            if(children[idx]==null)
                children[idx]=new WordDictionary();
            children[idx].addWord(word.substring(1));
        }
        
        /** 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(word.length()==0)
                return isWord;
            if(word.charAt(0)=='.')
            {
                for(int i=0;i<26;i++)
                    if(children[i]!=null&&children[i].search(word.substring(1))==true)
                        return true;
                return false;
            }
            else
            {
                int idx=word.charAt(0)-'a';
                if(children[idx]!=null)
                    return children[idx].search(word.substring(1));
                return false;
            }
        }
    }
    

      

  • 相关阅读:
    第一周作业
    模拟赛3 题解
    模拟赛2 题解
    [HNOI2008]GT考试 题解
    NOI Online 提高组 题解
    模拟赛1 题解
    知识点拾遗
    [NOIp2012]疫情控制 题解
    [CEOI2002]Bugs Integrated, Inc. 题解
    [NOIp2017]宝藏 题解
  • 原文地址:https://www.cnblogs.com/asuran/p/7797174.html
Copyright © 2011-2022 走看看