当前位置: 首页 > news >正文

二叉树左叶子之和(后序遍历,递归求和)

404. 左叶子之和 - 力扣(LeetCode)

class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {if(root==NULL){return 0;}if(root->right==NULL&&root->left==NULL){return 0;}int leftnum=sumOfLeftLeaves(root->left);if(root->left!=NULL&&root->left->left==NULL&&root->left->right==NULL){leftnum=root->left->val;}int rightnum=sumOfLeftLeaves(root->right);int sum=leftnum+rightnum;return sum;}
};

要想找到左叶子的的所有值,显然采用后序遍历的方法,从根节点开始向下遍历,如果根节点的左子树不为空,则一直递归向下循环,直到到达叶子节点,将叶子节点的值赋给leftnum。在递归之中如果某一个节点存在右子树,则会递归此时根节点,寻找这个节点的左叶子节点。右子树的左叶子节点和会被rightnum捕获。最后输出的就是头节点的左右节点返回的值之和。

注意:这个代码始终是对二叉树中的每一个小二叉树的根节点进行判断,始终将值返回给小二叉树的头节点。在往后遍历的时候,leftnum和rightnum是此时节点左右子树中叶子节点的值的和。

http://www.xdnf.cn/news/214957.html

相关文章:

  • VScode与远端服务器SSH链接
  • NS-SWIFT微调Qwen3
  • Electron Forge【实战】桌面应用 —— 将项目配置保存到本地
  • 【含文档+PPT+源码】基于微信小程序的乡村振兴民宿管理系统
  • BLE技术,如何高效赋能IoT短距无线通信?
  • 【展位预告】正也科技将携营销精细化管理解决方案出席中睿营销论坛
  • 数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记7
  • Unity Audio DSP应用与实现
  • C++多线程与锁机制
  • JavaScript函数声明大比拼
  • yolov8使用
  • 10 基于Gazebo和Rviz实现导航仿真,包括SLAM建图,地图服务,机器人定位,路径规划
  • BIM(建筑信息模型)与GIS(地理信息系统)的融合的技术框架、实现路径与应用场景
  • 【MCP Node.js SDK 全栈进阶指南】高级篇(2):MCP高性能服务优化
  • MCP 协议 ——AI 世界的 “USB-C 接口”:从认知到实践的全面指南
  • 源码角度分析 sync.map
  • Silvaco仿真中victory process的蒙特卡洛(Monte Carlo)离子注入
  • [4-06-09].第10节:自动配置- 分析@SpringBootApplication启动类
  • github使用记录
  • Redis分布式锁使用以及对接支付宝,paypal,strip跨境支付
  • 第十六届蓝桥杯大赛网安组--几道简单题的WP
  • HTTP协议重定向及交互
  • 运放参数汇总
  • mac word接入deepseek
  • LVGL -窗口操作
  • Linux/AndroidOS中进程间的通信线程间的同步 - 管道和FIFO
  • 【C++编程入门】:基本语法
  • Java 多线程基础:Thread 类详解
  • 云数据中心整体规划方案PPT(113页)
  • VIT(ICLR2021)