leetcode----路徑總和(二叉樹|javascript解法)

一、題目描述

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。

說明: 葉子節點是指沒有子節點的節點。

二、示例

在這裏插入圖片描述

三、思路

二叉樹的方法的話我一般使用的是遞歸的方法,每次經過一個就進行減去當前值的操作,當在葉子節點時看sum是否等於0,返回ture。

四、代碼

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @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) === 0
    }
    var left = hasPathSum(root.left,sum-root.val)
    var right = hasPathSum(root.right,sum-root.val)
    return left || right
};

五、結果

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章