''' 解题思路: 1、先dfs搜索,返回节点路径 2、当前为末端节点,全局保存 3、数据与字符转换操作 ''' # 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 ): # write code here if not root: return 0 res = [root.val] out = [] def dfs(root,res): if not root.left and not root.right: out.append(res) if root.left: dfs(root.left,res+[root.left.val]) if root.right: dfs(root.right,res+[root.right.val]) dfs(root,res) #print(out) s = 0 for t in out: a = int(''.join(map(str,t))) #print(a) s += a return s ''' root = TreeNode(1) root.left = TreeNode(2) root.right = TreeNode(3) root.left.left = TreeNode(4) root.left.right = TreeNode(5) root.right.left = TreeNode(6) root.right.right = TreeNode(7) print(Solution().sumNumbers(root)) '''