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

很简单,,但是自己还是没写出来。。。。

class Solution:
    def sumNumbers(self, root: TreeNode) -> int:
        self.res=0
        def helper(root,tmp):
            if not root:return 
            if not root.left and not root.right:
                self.res+=int(tmp+str(root.val))
                return 
            helper(root.left,tmp+str(root.val))
            helper(root.right,tmp+str(root.val))
        helper(root,'')
        return self.res
执行用时 :40 ms, 在所有 python3 提交中击败了90.03%的用户
内存消耗 :13.8 MB, 在所有 python3 提交中击败了5.26%的用户
 
——2019.11.22
 

复习:
public int sumNumbers(TreeNode root) {
        if(root == null){
            return 0;
        }
        int sum = 0;
        return sumNumbers(root,sum);
    }

    private int sumNumbers(TreeNode node, int sum) {
        if(node.left == null && node.right == null){
            return sum*10+node.val;
        }
        sum = 10*sum + node.val;
        if(node.left == null){
            return sumNumbers(node.right,sum);
        }else if(node.right == null){
            return sumNumbers(node.left, sum);
        }else{
            return sumNumbers(node.left, sum) + sumNumbers(node.right,sum);
        }
    }

这次可以自己做出来了

——2020.7.3

我的前方是万里征途,星辰大海!!
原文地址:https://www.cnblogs.com/taoyuxin/p/11914585.html