精髓:
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
};