leetcode 404. Sum of Left Leaves

来源:互联网 发布:2017php基础班 就业班 编辑:程序博客网 时间:2024/06/05 16:51

Find the sum of all left leaves in a given binary tree.

Example:

3
/ \
9 20
/ \
15 7

There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.

python iterative and recursive solutions

#recursivedef sumOfLeftLeaves(self, root):        """        :type root: TreeNode        :rtype: int        """        if not root: return 0        ans = 0        if root.left:            if not root.left.left and not root.left.right:                ans += root.left.val            else:                ans += self.sumOfLeftLeaves(root.left)        if root.right:            ans += self.sumOfLeftLeaves(root.right)        return ans#iterativedef sumOfLeftLeaves(self, root):        """        :type root: TreeNode        :rtype: int        """        if not root:            return 0        stack = [root]        result = 0        while stack:            p = stack.pop()            if p.left and not p.left and not p.right:                result += p.left.val            if p.left:                stack.append(p.left)            if p.right:                stack.append(p.right)        return result
原创粉丝点击