美文网首页
每日一题20201205(404. 左叶子之和)

每日一题20201205(404. 左叶子之和)

作者: 米洛丶 | 来源:发表于2020-12-04 12:44 被阅读0次

404. 左叶子之和

image.png

思路

如果这题要求的是求所有叶子节点的和,那是不是很好做了呢?

其实这个是一样的,我们现在想要的就是求出左叶子,那么在求是否是叶子节点的时候,设立一个标志位就可以知道他是不是左叶子了。
# 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:
        return self.getLeaf(root)
        
    def getLeaf(self, root, left=False):
        # 如果root是None,那么说明没有值了,直接返回0
        if root is not None:
            # 如果root.left是None并且root.right也是None
            # 这里就说明他是叶子节点了,但是我们还得判断是否是左叶子
            # getLeaf的left参数就是用来判断他是否是左叶子的
            if root.left is None and root.right is None and left:
                return root.val
            else:
                # 如果不是叶子节点,那么递归继续往下寻找,并且找左子树的时候left为True
                # 这样如果left是叶子节点的话,那么他就是左叶子了
                return self.getLeaf(root.left, True) + self.getLeaf(root.right)
        return 0


image.png

相关文章

  • 404. 左叶子之和

    计算给定二叉树的所有左叶子之和。 解:1代表左节点,0代表右节点

  • 404. 左叶子之和

    计算给定二叉树的所有左叶子之和。 示例: / 9 20/ 15 7 在这个二叉树中,有两个左叶子,分别是 ...

  • LeetCode:404. 左叶子之和

    计算给定二叉树的所有左叶子之和。 示例: 方法一: 思想:把所有节点都当作根节点。递归处理 方法二 参考更简单的递归方法

  • 左叶子之和

    左叶子之和 https://leetcode-cn.com/problems/sum-of-left-leaves...

  • 左叶子之和

    左叶子之和,给定二叉树的根节点 root ,返回所有左叶子之和。 输入: root = [3,9,20,null,...

  • 2021-12-16 404. 左叶子之和【Easy】

    计算给定二叉树的所有左叶子之和。 示例: 方法一:

  • 404-左叶子之和

    左叶子之和 题目 计算给定二叉树的所有左叶子之和。 示例: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所...

  • 【LeetCode】左叶子之和

    题目描述: https://leetcode-cn.com/problems/sum-of-left-leaves...

  • 2019-03-27 待提高

    1.#### 左叶子之和 计算给定二叉树的所有左叶子之和。 示例: / 9 20/ 15 7 在这个二叉树...

  • 404-左叶子之和

    判断节点是不是左叶子节点,若是则累加。 ①、我们需要判断当前节点是否为左子树,只需要定义一个变量用来标志。自己是定...

网友评论

      本文标题:每日一题20201205(404. 左叶子之和)

      本文链接:https://www.haomeiwen.com/subject/ldhgwktx.html