Erlo

404左叶子之和

2020-09-22 20:00:26 发布   365 浏览  
页面报错/反馈
收藏 点赞

# Definition for a binary tree node.
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 sumOfLeftLeaves(self, root: TreeNode) -> int:
# 首先判断root为空的时候直接返回None
if not root:
return 0
# 定义一个变量用来接收和。
self.total = 0
# 函数递归
self.dfs(root, 1)
return self.total
# 我们在这里传入一个标志位,递归左子树为0,
def dfs(self, root, flag):
# 如果为叶子节点且标志位为0,就加上对应的值。
if not root.left and not root.right and flag == 0:
self.total += root.val
# 接着递归就好了。
if root.left:
self.dfs(root.left, 0)
if root.right:
self.dfs(root.right, 1)
A = Solution()
print(A.sumOfLeftLeaves(a))
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认