您的位置:首页 > 其它

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

2017-08-04 12:50 344 查看
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"));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息