Trie树解决字典中查找单词问题

来源:互联网 发布:linux不保存退出 编辑:程序博客网 时间:2024/06/05 10:38
package com.kai.util;import java.util.HashSet;/** * Created by Administrator on 2017/8/4. */public class TrieTree {    Node root=new Node();    private  class Node{        private Node[] child=new Node[26];        private  int count;        private HashSet<String> set=new HashSet<String>();    }    public  void addTrieNode(String s){        Node current=root;        for(int index=0;index<s.length();index++){             char c=s.charAt(index);            if(current.child[c-'a']==null){              Node node =new Node();              current.child[c-'a']=node;            }            current=current.child[c-'a'];             if(index==s.length()-1){              current.count ++;             }       // current.set.add(s);         }    }    public  int findTrie(String s){        Node current=root;       for(int index=0;index<s.length();index++){            char c=s.charAt(index);            if(current.child[c-'a']==null){                return 0;            }            current=current.child[c-'a'];         }        return current.count;    }    public static void main(String[] args) {        TrieTree tree =new TrieTree();        tree.addTrieNode("hello");        tree.addTrieNode("hello");        tree.addTrieNode("hell");       tree.addTrieNode("world");        tree.addTrieNode("hiiih");       System.out.println(tree.findTrie("hello"));     }}
原创粉丝点击