为什么这种方法计算二叉树的总和不起作用?

use*_*042 0 java binary-tree sum

我知道这段代码应该有效,但事实并非如此.有谁知道我错过了什么?我试图获得二叉树中所有节点的总和.

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

Per*_*ion 5

你的支票this == null完全没用.但是,你必须检查你的左,右节点的存在.试试这个:

return this.value + (right != null ? right.getSum() : 0)
        + (left != null ? left.getSum() : 0);
Run Code Online (Sandbox Code Playgroud)