Java中的自定义Trie实现

时间:2016-03-20 19:37:17

标签: java trie

我尝试创建一个存储字符串的系统,并为每个字符串条目提供包含给定字符串作为子字符串的字符串数。 所以,如果我有以下字符串

I am trying to create a custom implementation of a trie.

现在,如果我传递了tr,查询,则应该返回tryingtrie

我知道这需要一个Trie,而这就是我迄今为止设法编写的代码。

public class Trie {


    private Node root;
    private int size;

    private class Node{

        Node[] next;

        Node(){

            next = new Node[26];
        }

    }

    public Trie() {
        root = new Node();
        size = 0;
    }
    public void put(String item){
        int len = item.length();
        Node curr = root;
        for (int i = 0; i < len ; i++) {
           char c = item.charAt(i);
            curr.next[c -'a'] = new Node();
            curr = curr.next[c - 'a'];
        }
        size++;

    }
    //returns the number of strings that contain the given substring
    public int get(String str){
        int len = str.length();
        Node curr = root;
        for (int i = 0; i <len ; i++) {
            char c = str.charAt(i);
            curr = curr.next[c -'a'];
        }
    }
//this method should return the list of strings with the given substring
    public ArrayList<String> get(String str){

    }


}

我有点迷失,我怎么能实现两个get方法,一个返回字符串数,另一个返回字符串本身。任何帮助表示赞赏。

0 个答案:

没有答案