我知道这段代码应该可以,但是不能。有人知道我在想什么吗?我正在尝试获取二叉树中所有节点的总和。

public int getSum() {
    if (this == null) {
        return 0;
    } else {
        return this.value + right.getSum() + left.getSum();
    }
}

最佳答案

您的支票this == null完全没用。但是,您确实需要检查左右节点是否存在。尝试这个:

return this.value + (right != null ? right.getSum() : 0)
        + (left != null ? left.getSum() : 0);

09-25 22:17