首页 > 其他分享 >刷刷刷 Day 17 | 404. 左叶子之和

刷刷刷 Day 17 | 404. 左叶子之和

时间:2023-01-23 20:34:18浏览次数:47  
标签:17 int 节点 叶子 404 null root Day left

404. 左叶子之和

LeetCode题目要求

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

图

示例

输入: root = [3,9,20,null,null,15,7] 
输出: 24 
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
解题思路

本题主要是要找到左叶子节点,然后计算他们的和。
那么怎么找到左叶子节点呢?如果一个节点A有左子节点B,并且左子节点既没有左子节点也没有右子节点,那么节点B就是一个左叶子节点。
需要重点理解这里的叶子节点,及是用后序遍历操作

上代码

class Solution {
    public int sumOfLeftLeaves(TreeNode root) {
        if (root == null) {
            return 0;
        }

        // 递归左子树
        int leftVal = sumOfLeftLeaves(root.left); 
        // 递归右子树
        int rightVal = sumOfLeftLeaves(root.right);

        int midVal = 0;
        // 如果左节点不为空,且节点的左右节点都为空,说明是叶子节点,这是取这个节点的值
        if (root.left != null && root.left.left == null && root.left.right == null) {
            midVal = root.left.val;
        }
        // 计算节点和
        return midVal + leftVal + rightVal;
    }
}

附:学习资料链接

标签:17,int,节点,叶子,404,null,root,Day,left
From: https://www.cnblogs.com/blacksonny/p/17065483.html

相关文章

  • 刷刷刷 Day 17 | 257. 二叉树的所有路径
    257.二叉树的所有路径LeetCode题目要求给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。示例输入:roo......
  • Day10-包模块异常
    0-1变量和多态'''变量多态python中的变量(标识符),的类型是根据所代表的对象,进行自动推导得到的'''n=1print(type(n))n=3.14print(type(n))n=Trueprin......
  • Day09 - 子类父类多继承多层继承多态
    1.子类中访问父类中的私有属性和私有方法如果想使用父类中的私有属性和私有方法,那么就需要在父类中,为这些私有的属性和方法,提供相应的公有的接口方法来间接访问2.......
  • Day08 - 面向对象和继承
    1.面向对象烤地瓜分析'''烤地瓜安全'''#抽象一个地瓜类#实现初始化方法,初始地瓜的状态和总烧烤时间#添加一个用来保存调料的容器属性#实现一个烧烤方法 ......
  • Day07 - 面向对象
    1.面向对象概述面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法......
  • Day06 - 匿名函数和文件操作
    1.匿名函数lambdadef函数名(参数列表): 函数体'''匿名函数'''#万物皆对象#对象就会有内存地址,就会有一个引用#通过这个引用就可以找到该对象并使用它d......
  • Day05 - 内置函数和参数
    0.列表推导式格式:列表变量=[表达式for变量inrange(10)]表达式中需要使用后面的变量'''列表推导式创建一个具有一百个数字的列表'''#c_l=[]#f......
  • 新手IC617安装NCSU pdk
    新手IC617安装NCSUcdk以CMOSedu网站为参考:https://cmosedu.com/videos/cadence/tutorial1/cadence_tutorial_1.htmpdf教程下载:https://files.cnblogs.com/files/wyjalx/......
  • Day04 - 字符串元组列表字典
    Python官方中文文档https://docs.python.org/zh-cn/3/0.字符串常用方法a.查找_替换_统计 find()掌握 注意:找不到子串时,返回-1 rfind()了解 index()了解 ......
  • 刷刷刷 Day 17 | 110. 平衡二叉树
    110.平衡二叉树LeetCode题目要求给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值......