【发布时间】:2021-06-30 19:18:37
【问题描述】:
我目前正在寻找一种递归算法来在我的树中找到一个非键值。
我有我的节点类:
public class TreeNode {
private Person person;
private TreeNode left, right;
public TreeNode(Person person) {
this.person = person;
}
public boolean insert(Person person) {
if (person.getAge() < this.person.getAge()){
if (left != null){
return left.insert(person);
}else {
left = new TreeNode(person);
}
}else{
if (right != null){
return right.insert(person);
}else{
right = new TreeNode(person);
}
}
return true;
}
public boolean countryExists(String country){
if (!this.person.getCountry().equals(country)){
if (right != null) {
return right.countryExists(country);
}
if (left != null) {
return left.countryExists(country);
}
}else {
return true;
}
}
}
这里的关键值是一个人的年龄。我想知道是否有来自特定国家的人。因此我创建了函数 countryExists(String country) 我不知道如何实现它,我到处搜索并观看了很多关于 post/pre/inorder 的视频。下单应该没问题吧?我在返回正确的布尔值时遇到问题...
感谢您的帮助。
【问题讨论】:
标签: java tree binary-search-tree