看题型是求从根节点出发的,首先想到的是自顶向下的DFS,带着参数向下传递,结束条件没有左右儿子

直接前序遍历走起,可以认为是前面的节点都处理好了

var sumNumbers = function(root) {
    var ans = 0    var DFS = function (root,path) {
        if (!root) return        path += root.val        if (!root.left && !root.right) {
            ans += Number(path)
        }
        root.left && DFS(root.left,path)
        DFS(root.right, path)
    }
    DFS(root,'')
    return ans
};