gpt4 book ai didi

java - 如何在Trie中查找特定单词

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:33 25 4
gpt4 key购买 nike

我想在这种类型的表达式中找到一些以 A 开头并以 E 结尾的 3 个字母单词:
A?E

我的程序是一本字典,我正在使用以下代码:

    public ArrayList<String> Search(String word){

Node current = root;
ArrayList<String> result = new ArrayList<>();

while(current != null){
String st = "";
for(int i = 0; i < word.length(); i++){
if(current.SubNode(word.charAt(i)) != null) {
current = current.SubNode(word.charAt(i));
st+= current;
}
if(word.charAt(i) == '?'){
current = current.SubNode(word.charAt(i));
st+= current;
}
}
if (current.prefixes == true)
result.add(st);
}
return result;
}

但是不起作用

最佳答案

这里是如何使用正则表达式查找它的示例。只需迭代您的集合即可。

String input = "AoE";

Pattern p = Pattern.compile("(A*.*E)");
Matcher m = p.matcher(input);

while (m.find()) {
System.out.println("m.length() = " + m.group().length());
if (m.group().length() == 3){
System.out.println("Found a " + m.group() + ".");
}
}

关于java - 如何在Trie中查找特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42068242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com