二叉搜索树空指针异常

时间:2014-11-10 20:44:12

标签: java pointers tree null binary-search-tree

我想我的方式是我的代码,所以你不需要深入研究,只需检查第一行代码。我无法理解错误发生的地方有什么问题。

public boolean add(E x) {
    System.out.println(x);
    System.out.println(root);
    if(root.equals(null)){
        root.equals(x);
        return true;
    }
    if(root.equals(x)){        
        return false;
    }
    BinaryNode<E> save = root;   //create new nod copy of root

    while((!save.left.equals(x)) && (!save.left.equals(null))){ //check so save.nex isnt x and that save.next exists
    save=save.left;
    }
    if(save.left.equals(null)){
        save = root;  //puts save back to root again
        while((!save.right.equals(x)) && (!save.right.equals(null))){
            save=save.right;
        }

        if(save.right.equals(null)){
            save.right.equals(x);
            return true;
        }


} return false;
    }

我在第if(root.equals(null)){行收到错误这只是一个if语句,我不是试图访问不存在的东西?

1 个答案:

答案 0 :(得分:1)

如果root 等于null,那么 试图通过调用equals来访问不存在的内容方法就可以了。只需使用if(root == null)