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;
    }
相关推荐
迈巴赫车主15 分钟前
求最大公约数-欧几里得算法(辗转相除法)
算法·最大公约数
sunwenjian88618 分钟前
Java进阶--IO流
java·开发语言
lxl130728 分钟前
C++算法(15)BFS_FloodFill
算法·宽度优先
小王C语言31 分钟前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??32 分钟前
BeyondMimic 论文解析
人工智能·算法·机器人
WolfGang00732136 分钟前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY31338 分钟前
前缀和算法
算法
客卿12339 分钟前
滑动窗口--模板
java·算法
_日拱一卒1 小时前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
zjjsctcdl1 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql