当前位置: 首页 > 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.dtcms.com/a/324364.html

相关文章:

  • 【无标题】命名管道(Named Pipe)是一种在操作系统中用于**进程间通信(IPC)** 的机制
  • Ubuntu 安装 Elasticsearch
  • Ubuntu 安装 Kibana
  • WGS84 与 ITRF 坐标系的差异及转换算法详解
  • 进程状态+进程优先级+进程上下文切换解读
  • 不同hash加密类型的hashfile.txt文件
  • C# 中常用集合以及使用场景
  • 强制类型转换
  • AI 对齐:让人工智能与人类价值同频共振
  • JavaWeb——maven高级(5/5)-私服(私服的概念与作用、Maven 依赖的查找顺序、上传资源到私服的配置步骤、下载依赖配置条件)
  • 单链表专题---暴力算法美学(2)(有视频演示)
  • actuary notes[2]
  • 单调栈——数位删减
  • Go语言中切片(Slice)的拷贝
  • 自创论述类文本阅读:论温泉
  • PWM波的频谱分析及matlab 验证[电路原理]
  • 【Linux】使用静态 BusyBox 解决操作系统“塌方”问题
  • Premiere准备工作
  • AQS的详细讲解
  • Java对接支付宝,回调验签失败
  • 活动策划(展会、年会),在线工具能快速出邀请函不?
  • [创业之路-537]:经营分析会 - 销售目标以及支撑、关键策略、主要行动措施、资源保障、人才储备
  • 在 JDK 17 上完整观察 synchronized 锁升级过
  • 嵌入式第二十四课!!linux应用软件编程与文件操作!!!
  • Java 基础编程案例:斐波拉契数与从输入交互到逻辑处理
  • NodeJs学习日志(4):路由合并_环境配置_常用文件目录
  • HarmonyOS之module.json5功能详解
  • AI测试助手如何让Bug无处可藏
  • 湖南(源点咨询)市场调研 如何在行业研究中快速有效介入 中篇
  • 深入浅出DBSCAN:基于密度的聚类算法详解与Python实战