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

【代码随想录day 15】 力扣 404. 左叶子之和

视频讲解:https://www.bilibili.com/video/BV1GY4y1K7z8/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0404.%E5%B7%A6%E5%8F%B6%E5%AD%90%E4%B9%8B%E5%92%8C.html
力扣题目:https://leetcode.cn/problems/sum-of-left-leaves/description/

这道题需要记录左叶子的值,所以需要先遍历再记录,我们这里采用后序遍历的,需要注意的是,我们需要去判断节点是否为叶子节点,如果是叶子节点,并且是左叶子节点,进行记录操作。之后进行递归操作。

class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {//如果根节点为空,直接return 0if(!root) return 0;//如果只有一个根节点没有左右子树,return 0if(root->left==NULL&&root->right==NULL) return 0;//开始递归//左int leftval=sumOfLeftLeaves(root->left);//如果遍历的节点存在左节点并且左节点是叶子节点,加入它的值if(root->left && root->left->left == NULL && root->left->right == NULL){//记录左叶子的值leftval=root->left->val;}int rightval = sumOfLeftLeaves(root->right);//计算左右之和int sum = leftval + rightval;return sum;}
};

这是C语言对应的代码,和上面的思路一样

int sumOfLeftLeaves(struct TreeNode* root) {//如果节点为空,返回0if(!root) return 0;//如果节点没有左右子树,返回0if(root->left == NULL && root->right == NULL) return 0;//开始递归//左int leftval = sumOfLeftLeaves(root->left);//如果节点存在左节点,且左节点是叶子节点if (root->left && !root->left->left && !root->left->right) {leftval = root->left->val;}//右int rightval = sumOfLeftLeaves(root->right);//计算和int sum = leftval + rightval;//返回值return sum;
}
http://www.lryc.cn/news/616306.html

相关文章:

  • 部署一个免费开源的博客系统
  • OpenAI正式发布GPT-5:迈向AGI的关键一步
  • 【走进Docker的世界】深入理解Docker网络:从模式选择到实战配置
  • TF-IDF提取关键词(附实战案例)
  • 【RocketMQ 生产者和消费者】- ConsumeMessageConcurrentlyService 并发消费消息
  • 【嵌入式硬件实例】-555定时器PWM调光电路
  • 智慧社区(十一)——Spring Boot 实现 Excel 导出、上传与数据导入全流程详解
  • 计算机网络:路由聚合的注意事项有哪些?
  • RabbitMQ面试精讲 Day 18:内存与磁盘优化配置
  • ROS2 QT 多线程功能包设计
  • 使用 Docker-Compose 部署 Redis 三主三从集群(含 Exporter 监控)
  • openresty-lua-redis案例
  • 高标准农田建设—用ZDM画钢筋图并标注
  • BLDC直流无刷电机工作原理
  • 【无标题】消息队列(Message Queue)是一种**进程间通信(IPC)机制
  • VBA即用型代码手册:段落Paragraphs
  • GPT-5与中国AI发展(DeepSeek R1视角)
  • 补卡day16
  • Django @login_required实现登陆认证
  • A#语言详解
  • Redis - 使用 Redis HyperLogLog 进行高效基数统计
  • 安全生产基础知识(一)
  • django基于Python的设计师作品平台的数据可视化系统设计与实现
  • 音视频学习(五十二):ADTS
  • 集成电路学习:什么是Parameter Server参数服务器
  • 比特币现货和比特币合约的区别与联系
  • 联邦学习之------VT合谋
  • 刑法视野下的虚拟财产属性争议:法律风险与市场潜力解析
  • 机器学习——TF-IDF 衡量词语在文档中重要程度
  • MySQL 序列使用详细说明