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
};

五、结果

在这里插入图片描述

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