【LeetCode: 404. 左叶子之和 + 二叉树 + BFS】

校招总结—FPGA从入门到放弃 校招总结—FPGA从入门到放弃 感谢咸鱼FPGA的授权转发,原文地址为https://www.cnblogs.com/xianyufpga/ 其实 offer 早就定下来了,最近忙着入党考试,现在才腾出时间来写个总结。我校招开始于 7 月底,算是比较晚了,后面加了各大校招交流群,发现很多同学都是过完年后就开始打磨项目、复习基础、寻找实习。对比之下我这准备确实仓促,不过结果还算满意。 ... 阅读详情

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,优快云-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🚩 题目链接

⛲ 题目描述

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

示例 1:
在这里插入图片描述

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

输入: root = [1]
输出: 0

提示:

节点数在 [1, 1000] 范围内
-1000 <= Node.val <= 1000

🌟 求解思路&实现代码&运行结果


⚡ 二叉树 + BFS

🥦 求解思路
  1. 本题思路是先处理根节点为空的边界情况,返回 0。之后利用队列进行层序遍历二叉树,取出节点时,判断其左子节点,若是左叶子节点(无左右子节点)就累加其值,不是则入队;对右子节点,非叶子节点就入队。遍历完后返回累加的左叶子节点值总和。用isLeafNode方法判断节点是否为叶子节点。
  2. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 * int val;
 * TreeNode left;
 * TreeNode right;
 * TreeNode() {}
 * TreeNode(int val) { this.val = val; }
 * TreeNode(int val, TreeNode left, TreeNode right) {
 * this.val = val;
 * this.left = left;
 * this.right = right;
 * }
 * }
 */
class Solution {
    public int sumOfLeftLeaves(TreeNode root) {
        if (root == null) {
            return 0;
        }

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        int ans = 0;
        while (!queue.isEmpty()) {
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                if (node.left != null) {
                    if (isLeafNode(node.left)) {
                        ans += node.left.val;
                    } else {
                        queue.offer(node.left);
                    }
                }
                if (node.right != null) {
                    if (!isLeafNode(node.right)) {
                        queue.offer(node.right);
                    }
                }
            }
        }
        return ans;
    }

    public boolean isLeafNode(TreeNode node) {
        return node.left == null && node.right == null;
    }
}

🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

【AUTOSAR-E2E】-2.3-配置E2E:基于E2EPW配置一个RX接收的Signal Group(使用E2E Profile 1) 《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <-. 阅读详情

相关推荐

【一起学UniGUI】--UniGUI的部署选项(5)

uniGUI支持Windows平台下所有主要部署选项。 1.Standalone Server (独立服务器) 最简单的部署方法是独立服务器。在这种模式下,应用程序服务器像桌面应用程序一样直接运行。它也是用于调试应用程序的模式。运行应用程序可执行文件后(它是一个EXE文件),它将最小化到托盘图标,并运行到用户手动终止为止。见下图: 一个独立的应用程序可以...

5774

【LeetCode: 680. 验证回文串 II + 贪心 + 边界处理】

【LeetCode: 680. 验证回文串 II + 贪心 + 边界处理】给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。

Coder_ljw的博客 1135

Stata森林图进阶:个性化定制与高级技巧

本文详细介绍了Stata森林图的进阶技巧,包括个性化定制与高级应用。通过meta分析工具如metan命令,用户可以优化字体、颜色、坐标轴等视觉元素,提升森林图的专业性和可读性。文章还提供了黑白印刷设置、高分辨率导出等实用技巧,帮助科研人员制作符合学术出版要求的森林图。

ios99的博客 254

mysql必知必会样例表_《SQL必知必会》笔记1-样例表说明及建表语句

该笔记整理自Ben Forta著,钟鸣、刘晓霞译,人民邮电出版社出版的《SQL必知必会》第4版,具体内容有部分省略。关于存储过程的部分内容,结合了《SQL必知必会》和《MySQL必知必会》。代码测试环境:Win7-64bit、MySQL 5.7、MySQL Workbench 6.3。1 样例表解释说明书中所用的表是一个玩具经销商使用的订单录入系统的组成部分,包括:管理供应商Vendors。管理...

weixin_42467457的博客 2008

从冰棍到铸钢:手把手用Fluent融化凝固模型模拟3个不同场景(含案例设置对比)

本文深入探讨了Fluent融化凝固模型在冰棍融化、巧克力涂层凝固和钢铁连铸三个不同场景中的应用。通过详细的参数设置和案例对比,帮助工程师掌握相变模拟的核心技巧,提升工业级CFD分析的精度和效率。

weixin_42522953的博客 470

STM32标准库下载保姆级教程:2024最新官网免注册直接下载方法

本文提供2024年最新STM32标准库免注册下载方法,包括直接下载链接、GitHub镜像仓库和开发工具内置库三种途径。详细介绍了标准外设库的优势、配置步骤及常见问题解决方案,帮助开发者快速获取并应用这一重要开发资源。

weixin_29163581的博客 365

牛客NC406#最长山脉#Java版#一次循环搞定#代码性能O(n)

牛客NC406#最长山脉#Java版#一次循环搞定#代码性能O(n)

个人程序员-猴嗨哦-的博客 616

FPGA新手必看:用USB转TTL实现串口通信的完整流程(附CH340G电路详解)

本文为FPGA新手提供了通过USB转TTL模块实现串口通信的完整实战指南。详细解析了CH340G电路设计要点、硬件连接方法,并分享了经过验证的Verilog代码框架,帮助读者快速掌握FPGA与PC通信的核心技术,解决电平匹配与波特率设置等常见问题。

cake8的博客 1046

【前缀和】1456.定长子串中元音的最大数目

这个官方题解采用了滑动窗口的方法来解决问题。通过维护一个固定大小的窗口,我们可以在O(n)的时间复杂度内找到最长连续元音字符的子串。在实际编程中,可以根据具体需求对这个解法进行优化,例如在字符串中只包含元音字符的情况下,可以进一步优化时间复杂度。

进一步有一步的欢喜 408

RSA算法详解:万字文章详解RSA的加密与解密

为了彻彻底底的研究明白RSA算法,真的是。。煞(lei)费(si)苦(wo)心(le),首先我希望自己前前后后、彻彻底底的琢磨明白,其次我也希望我把他分享出来以后,大家都能读得懂,这篇文章真的是我迄今为止写的又臭又长的一篇文章了,但是我能保证的是,你读完了以后,绝对不会再问RSA是啥玩意儿了。。

布啦啦 7667

JSON 与 JSON-RPC 的区别

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于文本,采用人类可读的语法来表示结构化数据。它起源于JavaScript,但如今已被几乎所有主流编程语言支持。标准文档:RFC 4627数据类型:支持 String、Number、Boolean、Null、Object、Array 六种基本类型格式示例"name": "张三","age": 30,JSON-RPC(JSON Remote Procedure Call)是一种远程过程调用(RPC)协议。

h a 6 6 6 c k 为 你解决复杂难题! 143

2225 找出输掉零场或一场比赛的玩家(哈希表)

1. 问题描述: 给你一个整数数组 matches 其中 matches[i] = [winneri,loseri] 表示在一场比赛中 winneri 击败了 loseri 。返回一个长度为 2 的列表 answer : answer[0] 是所有没有输掉任何比赛的玩家列表。 answer[1] 是所有恰好输掉一场比赛的玩家列表。 两个列表中的值都应该按递增顺序返回。 注意: 只考虑那些参与至少一场比赛的玩家。 生成的测试用例保证不存在两场比赛结果相同 。 示例 1: 输入:matches = [[.

二哈 969

C#的GDI+绘图详解

/消除锯齿 或 AntiAlias。// 1.在窗体或控件的Paint事件中,用PaintEventArgs e 创建绘图对象 ---- 控件或窗体重绘时。//为控件创建绘图对象。//--------------------以上方法三选一。//2.创建绘图对象 panel1中绘图。

weixin_50920631的博客 3457

【LeetCode刷题日记】 404:左叶子之和——两种解法带你彻底搞懂二叉树左叶子之和:递归与BFS详解

本文介绍了计算二叉树所有左叶子节点之和的两种方法。通过示例分析,明确了左叶子的定义:必须是父节点的左子节点且自身无子节点。递归法采用后序遍历思路,在父节点判断左孩子是否为叶子节点;BFS法则通过队列层序遍历,在访问父节点时检查左孩子属性。两种方法都能正确累加左叶子值,但实现思路不同:递归简洁但可能栈溢出,BFS稳定但代码稍复杂。文章通过详细步骤和图解展示了两种解法的执行过程,帮助理解核心判断逻辑和避免重复计算的原理。

任岁月风干理想再也找不回真的我 943

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

(108)404. 左叶子之和(leetcode)

题目链接: https://leetcode-cn.com/problems/sum-of-left-leaves/ 难度:简单 404. 左叶子之和 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 还是简单题好 简单的一批。。。。 /** * Definition for a binary tree node. * struct TreeNode { *

li_qw_er的博客 84

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

代码随想录算法训练营第十五天 | LeetCode 110.平衡二叉树,257. 二叉树的所有路径, 404.左叶子之和 , 222.完全二叉树的节点个数

然后我们进入判断的逻辑,首先这道题我们使用递归的方法,先把返回条件确认了,那就是为空或者就一个节点直接返回true,否则就先判断中,就是判断此root节点的左右子树差的绝对值是否小于等于1,如果大于1返回false。257题有点意思,运用到了递归和回溯的知识,首先判断root是否为空,如果为空返回;首先以root节点为中心,如果root为空或者它左右子树均为空,那么直接返回(此时结果为0),否则再判断root是否存在左子树并且左子树是叶子结点,如果是就将该左子树的值加入到我们的result结果中。

2401_83970525的博客 745

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

leetcode-404-Sum of Left Leaves

问题题目:[leetcode-404]思路这个题刚开始想用递归写,一时每反应过来。 然后想层次遍历,一时又没反应过来。 其实,基本的算法还是遍历。层次遍历即可,但是只要左叶子。 所以,我考虑加标签,主要是想模仿线索二叉树。然后写了一个结构,加了是左孩子右孩子的标签。问题搞定。代码/** * Definition for a binary tree node. * struct TreeNo

Kang_TJU的博客 420

LeetCode 404. Sum of Left Leaves 题解(C++)

LeetCode 404. Sum of Left Leaves 题解(C++)题目描述 Find the sum of all left leaves in a given binary tree. 示例There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.思路解法1 使

prayyojay的博客 439

Leetcode二叉树part2

一棵平衡二叉树对于树中的每一个节点,其左子树和右子树的高度差不超过 1。换句话说,不仅要整棵树的根节点满足左右子树高度差 ≤ 1,它的每一个子树也都要满足这个条件。

Ll1304525298的博客 1036

LeetCode二叉树算法实战:四道经典题目解析

二叉树是数据结构与算法中的核心概念,通过递归和迭代两种方式可以实现高效的遍历与操作。理解二叉树的高度计算、路径遍历等基础原理,能够帮助开发者解决各类树形结构问题。在实际工程中,二叉树算法广泛应用于文件系统、数据库索引等场景。本文以LeetCode经典题目为例,详细解析平衡二叉树判断、左叶子求和等技术难点,其中优化后的自底向上递归算法将时间复杂度从O(n²)降至O(n),而完全二叉树节点计数则利用树形特性实现O(log²n)的高效解法。掌握这些算法技巧对提升编程面试表现和解决实际问题都具有重要价值。

weixin_29973493的博客 316

代码随想录第十五天

本文介绍了二叉树相关问题的多种解法。对于完全二叉树节点计数,提出了三种方法:广度优先遍历(层序遍历)、递归遍历和完全二叉树特性优化递归。在平衡二叉树判断中,展示了递归计算子树高度差的方法。二叉树路径问题强调应在叶子节点而非空节点判断路径终点。左叶子之和问题则提供了迭代法(层序遍历)和递归法两种解决方案,重点在于左叶子节点的识别条件。各解法均包含详细的代码实现,展示了不同遍历方式在处理树结构问题时的应用技巧。

m0_75203220的博客 223

LeetCode 404 左叶子之和

LeetCode 404 左叶子之和 题目链接 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 对二叉树进行 BFS,如果某个结点的左子结点是叶子结点就加到答案里,AC代码如下: class Solution { public: int sumOfLeftLeaves(TreeNode* root) { int ans=0; q

旺崽的博客 2786

算法题 左叶子之和

摘要:本文介绍了LeetCode 404题"左叶子之和"的解法。问题要求计算二叉树中所有左叶子的值之和。提供了四种解法:带标志的递归(O(n)时间)、父节点法(最优)、BFS和DFS迭代法。核心思路是识别左叶子节点(既是叶子又是左子节点),通过递归或迭代遍历树结构。代码示例展示了Java实现,并分析了各方法的时间/空间复杂度。以示例树[3,9,20,null,null,15,7]为例,正确结果为24(9+15)。

红血哥 712

leetcode404. 左叶子之和/dfs,bfs

文章目录题目:leetcode404. 左叶子之和基本思想1:递归实现dfs基本思想2:层次遍历bfs 题目:leetcode404. 左叶子之和 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sum-of-left-leaves 著作权归领扣网络所有。商业转

yyf_blog 202

LeetCode 404. 左叶子之和

题目链接:LeetCode 404. 左叶子之和 题意: 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 解题思路: 就正常的dfs或者bfs,判断是否为叶子节点,如果是左节点,就加上他的值 DFS /** * Definition for a binary tree node. * struct TreeNode { * ...

error311的博客 134

leetcode算法(404.左叶子之和)

leetcode算法(404.左叶子之和)

m0_61706299的博客 576
上一篇: 【LeetCode: 515. 在每个树行中找最大值 + 二叉树 + BFS】
下一篇: 【LeetCode: 3285. 找到稳定山的下标 + 模拟】
硕风和炜
硕风和炜 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄7年 2万+粉丝 1024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值