首页 > 其他 > 详细

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

时间:2020-07-29 22:28:17      阅读:74      评论:0      收藏:0      [点我收藏+]
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
a = TreeNode(1)
b = TreeNode(2)
c = TreeNode(3)
a.left = b
a.right = c
# 这道题用递归来做,很容易就做出来的
class Solution:
def sumNumbers(self, root: TreeNode) -> int:
# 定义一个变量,用来存储最后的和
self.sum_num = 0
# 判断二叉树是否为空,如果为空,直接返回0
if not root : return 0
def dfs(root,num):
# 判断当前节点是否为空
if not root:return
# 根据题意进行相加。
num = num * 10 + root.val
# 注意这里,不能让他走到节点为空的那一层,那样的话就多算一遍。
if not root.left and not root.right:
self.sum_num = self.sum_num + num
return
# 然后分别递归左右子树
dfs(root.left,num)
dfs(root.right,num)
dfs(root,0)
# 最后返回计算出来的结果
return self.sum_num
A = Solution()
print(A.sumNumbers(a))

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

原文:https://www.cnblogs.com/cong12586/p/13398938.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!