404. 左叶子之和


class Solution(object):
    def sumOfLeftLeaves(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        if not root or (not root.left and not root.right):
            return 0
        ans = []
        # 根节点算左叶子
        self.dfs(root, 1, ans)
        return sum(ans)

    def dfs(self, node, is_left, ans):
        if node:
            if not node.left and not node.right:
                if is_left:
                    ans.append(node.val)
            if node.left:
                self.dfs(node.left, 1, ans)
            if node.right:
                self.dfs(node.right, 0, ans)
        return ans

原文地址:https://www.cnblogs.com/panweiwei/p/13585828.html