LeetCode 404.左叶子之和

devtools/2024/11/29 0:41:57/

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

思路:一个节点为「左叶子」节点,当且仅当它是某个节点的左子节点,并且它是一个叶子结点。因此我们可以考虑对整 node 时,如果它的左子节点是一个叶子结点,那么就将它的左子节点的值累加计入答案。

代码

/*** 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) {return root == null ? 0 : dfs(root);}private int dfs(TreeNode node) {int ans = 0;if (node.left != null) {ans += isLeafNode(node.left) ? node.left.val : dfs(node.left);}if (node.right != null && !isLeafNode(node.right)) {ans += dfs(node.right);}return ans;}private boolean isLeafNode(TreeNode node) {if (node.left == null && node.right == null) {return true;}return false;}
}

性能

时间复杂度o(n)

空间复杂度o(n)

提示:类似 求一个树的所有叶子,只不过加了一些限制条件


http://www.ppmy.cn/devtools/137788.html

相关文章

无人机舵机转速运行原理!

一、核心技术 PWM(脉冲宽度调制)技术 PWM技术通过调节电流脉冲的宽度,即改变电流在每个周期内的“开”与“关”的时间比例,来调节电机接收到的平均电流大小,进而控制电机的转速和扭矩。 在舵机中,PWM信号…

光伏功率预测!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型时序预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量时序光伏功率预测 (Matlab2023b 多输入单输出) 1.程序已经调试好,替换数据集后,仅运行一个main即可运行,数据格式…

网络安全问题与大忌

一、不堪一击的根服务器 互联网的唯一致命弱点就是它完全依赖于使用根服务器的域名系统(DNS),根服务器掌握着国际域名(如 .com, .net, .org)的所有授权细节。 位于全球的网络结构的核心中共有13台这种根服务器。这个服务器网络由命名和数字…

RabbitMQ学习-Four

昨天我们通过Linux命令,创建好了角色,那么我们就可以登录管理端的web页面,然后进行响应的操作; 今天来学习一下RabbitMQ的具体的工作模式: RabbitMQ工作模式 简单模式 在简单模式下,消息生产者将消息发送…

华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座

HDC2024华为重磅发布全自研操作系统内核—鸿蒙内核,鸿蒙内核替换Linux内核成为HarmonyOS NEXT稳定流畅新基座。鸿蒙内核具备更弹性、更流畅、更安全三大特征,性能超越Linux内核10.7%。 鸿蒙内核更弹性:元OS架构,性能安全双收益 万…

React Hooks中use的细节

文档 useState useState如果是以函数作为参数,那要求是一个纯函数,不接受任何参数,同时需要一个任意类型的返回值作为初始值。 useState可以传入任何类型的参数作为初始值,当以一个函数作为参数进行传入的时候需要注意&#xff…

粗配准+icp精配准 搭配3DSC 实现配准流程

文章目录 前言一、制作source和target点云数据二、完整代码三、配准效果 前言 借鉴 参考一 一、制作source和target点云数据 制作翻转点云数据可以参照这篇文章这里不再赘述 二、完整代码 #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include…

计算机网络 实验七 NAT配置实验

一、实验目的 通过本实验理解网络地址转换的原理和技术&#xff0c;掌握扩展NAT/NAPT设计、配置和测试。 二、实验原理 NAT配置实验的原理主要基于网络地址转换&#xff08;NAT&#xff09;技术&#xff0c;该技术用于将内部私有网络地址转换为外部公有网络地址&#xff0c;从…