0

我知道这段代码应该可以工作,但它没有。有谁知道我错过了什么?我正在尝试获取二叉树中所有节点的总和。

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

1 回答 1

5

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

return this.value + (right != null ? right.getSum() : 0)
        + (left != null ? left.getSum() : 0);
于 2013-02-20T21:05:31.740 回答