1.题目
题目链接
2.思想
递归求解即可,需要注意递归边界的设置。
3.代码
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def sumNumbers(self, root: TreeNode) -> int:
res = []
num = []
self.dfs(root,num,res)
# print(res)
out = list(map(int,res))
return sum(out)
def dfs(self,root,num,res):
num.append(str(root.val)) #
if root.left is None and root.right is None: # 说明是叶子节点
# print(num)
res.append("".join(num))
num.pop()
return
if root.left:
self.dfs(root.left,num,res)
if root.right:
self.dfs(root.right,num,res)
num.pop()