让我们考虑父节点是根节点,子节点是左节点和右节点。
⦁ root.left 指向左节点
⦁ root.right 指向右节点。
在 checkTree 函数中你收到 root 作为参数。这个根是一个TreeNode的实例,看起来就像右和左也可以指向其他TreeNode。
情景1:
所以假设树是这样的
root是9,root.left是节点4,root.right是节点5
root.left.val等于4,root.right.val等于5,root.val为9。
因此,如果root.left.val和root.right.val相加等于root.val,返回语句将返回true,否则返回false。
所以在这个例子中,它将返回true,因为4+5等于9。
var checkTree = function(root) {
return root.left.val + root.right.val === root.val
};
情景2:
所以假设树是这样的
// Definition for a binary tree node.
function TreeNode(val, left, right) {
this.val = (val===undefined ? 0 : val)
this.left = (left===undefined ? null : left)
this.right = (right===undefined ? null : right)
}
root是5,root.left是节点1,root.right是节点3 root.left.val等于1,root.right.val等于3,root.val是5
所以如果root.left.val和root.right.val相加等于root.val,返回语句将返回true,否则返回false。
所以在这种情况下,它将返回false,因为1+3不等于5。
var checkTree = function(root) {
return root.left.val + root.right.val === root.val
};