Leetcode刷题Python404. 左叶子之和

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题Python404. 左叶子之和相关的知识,希望对你有一定的参考价值。

1 题目

给定二叉树的根节点 root ,返回所有左叶子之和。

2 解析

一个节点为「左叶子」节点,当且仅当它是某个节点的左子节点,并且它是一个叶子结点。因此我们可以考虑对整棵树进行遍历,当我们遍历到节点 \\textitnodenode 时,如果它的左子节点是一个叶子结点,那么就将它的左子节点的值累加计入答案。

3 Python实现

class Solution:
    def sumOfLeftLeaves(self, root: Optional[TreeNode]) -> int:

        isLeafNode = lambda node:not node.left and not node.right
        def dfs(r):
            ans = 0
            if r.left:
                ans +=r.left.val if isLeafNode(r.left) else dfs(r.left)
            if r.right and not isLeafNode(r.right):
                ans+=dfs(r.right)
            return ans
        return dfs(root) if root else 0

以上是关于Leetcode刷题Python404. 左叶子之和的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-404-左叶子之和

leetcode 404. 左叶子之和

LeetCode: 404.左叶子节点

LeetCode--404--左叶子之和

leetcode 404. 左叶子之和(Sum of Left Leaves)

Leetcode404.左子树之和