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;
    }
相关推荐
桦说编程1 小时前
TransmittableThreadLocal 解读:从 CRR 机制到上下文所有权
java·后端·源码
xys_6781 小时前
JavaEE通关手册:初识Java
java·开发语言
文丑颜不良啊1 小时前
LeetCode2461~2480题目解析
java·leetcode
文丑颜不良啊2 小时前
LeetCode2441~2460题目解析
java·leetcode
阿屿3 小时前
从零手搓 AI 伴侣(二):好感度通胀危机,与它的「货币政策」
java·人工智能
灿飞3 小时前
Kotlin与Java虚拟机十一:类与属性:构造顺序、backing field 与显式 backing field
java·后端·kotlin
aiks_yuan3 小时前
40亿个QQ号 1G内存怎么去重:Java BitSet 装不下,long 数组位图 512MB 实测 46 秒(JDK 17)
java
文丑颜不良啊4 小时前
LeetCode2521~2540题目解析
java·leetcode
杨凯凡4 小时前
Spring Framework 7 HTTP Interface 实战:声明式 RestClient、超时与测试
java·spring·http
吴名氏.4 小时前
Java转AI Agent教程(第十二周)检索与切分
java·开发语言·人工智能·ai·ai agent