题目
Find the sum of all left leaves in a given binary tree.
Example:
1 2 3 4 5 6 7
   |     3    / \   9  20     /  \    15   7
  There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
   | 
 
方法
递归遍历,如果为左节点,则打上标记isLeft,如果该节点没有左右子节点,则将该节点值累加到最后的结果中
python代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | class TreeNode(object):     def __init__(self, x):         self.val = x         self.left = None         self.right = None
  class Solution(object):     def sumOfLeftLeaves(self, root):         self.result = 0         self.traverse(root)         return self.result
      def traverse(self, node, isLeft=False):         if node and node.left == None and node.right == None and isLeft:             self.result += node.val         if node:             self.traverse(node.left, True)             self.traverse(node.right)
 
  root = TreeNode(3) root.left = TreeNode(9) root.right = TreeNode(20) root.right.left = TreeNode(15) root.right.right = TreeNode(7)
  assert Solution().sumOfLeftLeaves(root) == 24
   |