LeetCode:404.左叶子之和

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录
LeetCode:404.左叶子之和

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

示例 1:

输入: root = [3,9,20,null,null,15,7]

输出: 24

解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

示例 2:

输入: root = [1]

输出: 0

递归法,后序遍历,左右中,注意这里左叶子节点的判断,是需要再父节点的地方来判断的

java 复制代码
	public int sumOfLeftLeaves(TreeNode root) {
        if (root == null)
            return 0;
        if (root.left == null && root.right == null)
            return 0;
        // 左
        int leftSum;
        if (root.left != null && root.left.left == null && root.left.right == null) {
        	// 是左叶子节点
            leftSum = root.left.val;
        } else {
        	// 不是左叶子节点
            leftSum = sumOfLeftLeaves(root.left);
        }
        // 右
        int rightSum = sumOfLeftLeaves(root.right);
        // 中
        int res = leftSum + rightSum;
        return res;
    }
相关推荐
磊 子14 分钟前
类模板与派生1
java·开发语言·c++
:12118 分钟前
java面试基础2
java·开发语言·面试
云烟成雨TD21 分钟前
Spring AI Alibaba 1.x 系列【30】Nacos Skill Registry 的底层设计与实现
java·人工智能·spring
北顾笙98021 分钟前
day28-数据结构力扣
数据结构·算法·leetcode
北辰屿风25 分钟前
宝塔部署tomcat项目,nginx负载均衡代理访问报错404问题
java·tomcat
米粒125 分钟前
力扣算法刷题 Day 48(单调栈)
算法·leetcode·职场和发展
鱼鳞_35 分钟前
Java学习笔记_Day37(网络编程)
java·网络·笔记·学习
Metaphor69242 分钟前
使用 Python 合并 PDF 文件
java·python·pdf
我是无敌小恐龙1 小时前
Java SE 零基础入门Day03 数组核心详解(定义+内存+遍历+算法+实战案例)
java·开发语言·数据结构·人工智能·算法·aigc·动态规划