function TreeNode(val) {
this.val = val;
this.left = this.right = null;
}
解一:递归
- 先判断树结构是否为null,如果是null,直接返回false;
- 判断该树节点是否有后代,没有直接返回判断该节点值是否等于sum的布尔值;
- 最后,剩下就是有左子节点或者右子节点的情况,这种情况递归。
// @lc code=start
/**
* @param {TreeNode} root
* @param {number} sum
* @return {boolean}
*/
var hasPathSum = function(root, sum) {
if (root == null) return false;
if (root.left == null && root.right == null) return sum == root.val;
return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val);
};
// @lc code=end
解二:广度优先搜索
感谢观看 期待关注
关注我,带你一起写bug
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧