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

【代码随想录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.xdnf.cn/news/17574.html

相关文章:

  • nginx+Lua环境集成、nginx+Lua应用
  • 自动化备份全网服务器数据平台
  • UE材质World Position 和 Object Position
  • Linux操作系统从入门到实战(十七)进程与进程基本概念
  • Redis一站式指南一:从MySQL事务到Redis持久化及事务实现
  • Error: error:0308010C:digital envelope routines::unsupported at new Hash
  • 计算机视觉(CV)——pytorch张量基本使用
  • 青龙峡拔韭菜
  • 【东枫科技】NTN-IOT 卫星互联网原型系统,高达1.6G大带宽
  • 免费数字人API开发方案
  • 使用正则表达式检测Base64字符串并提取图片类型及正文的JavaScript函数,代码精简且高效
  • How Websites Work 网站如何运作
  • Linux入门指南:26个基础命令全解析
  • C语言(长期更新)第10讲:操作符详解(二)
  • vue3项目中在一个组件中点击了该组件中的一个按钮,那么如何去触发另一个组件中的事件?
  • playwright-mcp 项目全解析:从理论到实践
  • 量子计算机实用化:从理论到现实的艰难跨越
  • (一)Tailwindcss
  • Win10清理C盘步骤
  • Spring事务失效的常见原因
  • ROS2 QT 多线程功能包设计
  • 基于PyTorch一文讲清楚损失函数与激活函数并配上详细的图文讲解
  • redis集群-docker环境
  • 咪咕MGV3200-KLH_GK6323V100C_板号E503744_安卓9_短接强刷包-可救砖
  • 大数据架构演变之路
  • java的三种组件漏洞靶场攻略
  • LeetCode 组合总数
  • 人工智能系列(8)如何实现无监督学习聚类(使用竞争学习)?
  • 1. 电阻选型
  • 计算机网络:如何理解目的网络不再是一个完整的分类网络