129. 求根节点到叶节点数字之和


来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


根节点到叶子节点的路径是一个数,求所有的路径中数之和。和路径和一样,应该可以找到一个数之后,传给下一个时*10,不需要使用list记录每个数字了。


    int ret=0;
    public int sumNumbers(TreeNode root) {
        // 这里初始值是0
        dfs(root,0);
        return ret;



    }
    // val是目前累计的数。
    public void dfs(TreeNode node, int val) {
        if(node == null) {
            return;
        }

        if(node.left == null && node.right == null) {
            val+=node.val;
            ret+=val;
            return;
        }
        // 目前的累计数+节点值
        val+=node.val;
        dfs(node.left, val*10);
        dfs(node.right,val*10);
    }
posted @ 2022-02-24 11:01  一颗青菜  阅读(1)  评论(0)    收藏  举报