题目描述
计算给定二叉树的所有左叶子之和。
- 示例
3
/ \
9 20
/ \
15 7
在这个二叉树中,有两个左叶子,分别是9和15,所以返回24。
递归
利用先序遍历的递归版筛选出符合要求的左叶子数。
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def sumOfLeftLeaves(self, root: TreeNode):
if not root: return 0
if root.left and not root.left.left and not root.left.right:
return root.left.val + self.sumOfLeftLeaves(root.right)
else:
return self.sumOfLeftLeaves(root.left) + self.sumOfLeftLeaves(root.right)
(最近更新:2019年05月15日)