我尝试创建一个存储字符串的系统,并为每个字符串条目提供包含给定字符串作为子字符串的字符串数。 所以,如果我有以下字符串
I am trying to create a custom implementation of a trie.
现在,如果我传递了tr,
查询,则应该返回trying
和trie
。
我知道这需要一个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方法,一个返回字符串数,另一个返回字符串本身。任何帮助表示赞赏。