# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def sumOfLeftLeaves(self, root: TreeNode) -> int:
self.res = 0
if not root:
return 0
return self.sumOfLeftLeaves(root.left)+self.sumOfLeftLeaves(root.right)+(root.left.val if root.left is not None and not root.left.left and not root.left.right else 0)
def helper(root):
if not root:
return
if root.left and not root.left.left and not root.left.right:
self.res+=root.left.val
helper(root.left)
helper(root.right)
helper(root)
return self.res
总结:题目非常简单,直接递归就可以了。当然迭代法也可以做。只要满足当前节点是左节点,而且保证这个节点是叶子节点就OK。