剑指 34 返回路径之和为某个值得路径

在这里插入图片描述

精髓:
1前序遍历解决很多问题
2 数组结合使用pop()可以使得,数组包含路径(从树的根节点开始往下一直到叶节点所经过的节点形成的一条路径)的元素

var pathSum = function(root, target) {
    if (root == null)
    return [];
    let resArr=[]
    let resItem=[]
    let sum = 0
    function foo(node,temp){
         resItem.push(node.val)
        sum = temp+node.val
        if(node.left){
         foo(node.left,sum)
        }
         if(node.right){
         foo(node.right,sum)
        }
        if(node.left==null && node.right ==null){
            if(sum == target)
            resArr.push(resItem.slice())

        }
          resItem.pop()
            sum = sum - node.val
        
    }
    foo(root,0)
    return resArr
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值