我已经设法使用递归正确添加节点。
我在尝试保持计数时遇到了问题,我的递归方法在添加节点之前返回 false(多次)。似乎它可以在最后不返回 false 的情况下工作,但 java 不喜欢这样。
我该如何解决这个问题?
这是(伪-ish)代码:
从设置类:
if(root.add(value))
count++
return true
return false
从节点类:
public boolean add(item value) {
if(this == value) //check if it already exists
return false;
} else {
if(this.left < value)
if(this.left != null)
this.left.add(value)
else
this.left = new Node(value)
return true
if(this.right > value)
if(this.right != null)
this.right.add(value)
else
this.right = new Node(value)
return true
}
return false
}