# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param root TreeNode类 
# @return int整型
#
class Solution:
    def sumNumbers(self , root: TreeNode) :
        # write code here
        def dfs(basic,root):
            if not root: #若没有根节点,返回0
                return 0
            sum_=basic*10+root.val  #如果节点存在,则进行运算,过程大概是:10*0+1==》1*10+2==》12*10+3
            if not root.left and not root.right: #如果左右都没有孩子,则证明已经到底,直接返回这条枝干的计算值
                return sum_
            else:
                return dfs(sum_,root.left)+dfs(sum_,root.right)  #将所有左子树、右子树计算值相加
        return dfs(0,root)