【发布时间】:2017-02-19 00:33:47
【问题描述】:
我正在尝试为我的 BST 进行递归添加。公共 add 方法接受一个 int 参数,私有方法接受相同的 int 和一个 Node。这是我到目前为止的代码
public void add(int i) {
add(i, root);
}
private void add(int i, Node n) {
if (root==null){
root=new Node(i);
}
if (i < n.element) {
if (n.left != null) {
add(i, n.left);
} else {
n.left = new Node(i);
}
} else if (i > n.element) {
if (n.right != null) {
add(i, n.right);
} else {
n.right = new Node(i);
}
}
}
我不断收到空指针,也尝试过调试,但我的逻辑中有一些我看不到的缺陷。
【问题讨论】:
-
在您的
add方法中,您引用root而它可能应该是参数n
标签: java recursion binary-search-tree