LeetCode问题:判断根节点值是否等于子节点值之和,代码提交报错求助
问题排查:根节点值是否等于子节点值之和代码报错
你的代码提交报错的核心原因是错误地将LeetCode传入的二叉树节点对象当作数组处理,这道题的输入root并非数组,而是一个包含val、left、right属性的二叉树节点对象。
具体错误点:
- 你用
root[0]、root[1]、root[2]的数组索引方式取值,但实际输入的root是对象,不存在这些索引属性,导致计算逻辑完全错误。 - 代码中处理
undefined的逻辑多余,题目明确说明输入是一个恰好有根节点和两个子节点的二叉树,不存在子节点缺失的情况。
修正后的代码:
var checkTree = function(root) { return root.val === root.left.val + root.right.val; };
测试用例说明:
这道题的测试用例传入的是节点对象,而非数组。比如你之前的测试用例对应的节点结构是:
const testRoot = { val: 10, left: { val: 4 }, right: { val: 6 } }; checkTree(testRoot); // 返回true
内容的提问来源于stack exchange,提问作者beginner
相关产品推荐
相关产品推荐

