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 :未經授權,不得轉載
有問題的小夥伴請在下方留言,喜歡就點個贊吧