代码随想录算法训练营第十七天|110 平衡二叉树、257 二叉树的所有路径、404 左子叶之和

110 平衡二叉树

题目链接:平衡二叉树

思路

首先要明确下二叉树的高度和深度,高度是从叶节点开始,深度则是从根节点开始的。在104 二叉树的最大深度的那道题目中,树的深度和根节点的高度相等,所以使用了后序遍历。
这道题目是判断二叉树是否是平衡二叉树(左右子树的高度小于等于1)。如果二叉树中某一个节点不是平衡二叉树,则这个数不是平衡二叉树。
在这里插入图片描述

class Solution {
public:int getHeight(TreeNode* node){if(node == nullptr) return 0;int leftHeight = getHeight(node->left);if(leftHeight == -1) return -1;int rightHeight = getHeight(node->right);if(rightHeight == -1) return -1;int result;if(abs(leftHeight - rightHeight) > 1){result = -1;}else{result = 1 + max(leftHeight, rightHeight);}return result;}bool isBalanced(TreeNode* root) {return getHeight(root) == -1 ? false:true;}
};

257 二叉树的所有路径

题目链接:二叉的所有路径

思路

递归现在慢慢有一点感觉了,但是感觉不多。

class Solution {
public:void traversal(TreeNode* node, vector<int>&path, vector<string>& result){path.push_back(node->val);if(node->left == nullptr && node->right == nullptr){string sPath;for(int i=0; i<path.size()-1; i++){sPath += to_string(path[i]);sPath += "->";}sPath += to_string(path[path.size()-1]);result.push_back(sPath);return;}if(node->left){traversal(node->left,path,result);path.pop_back();}if(node->right){traversal(node->right, path, result);path.pop_back();}}vector<string> binaryTreePaths(TreeNode* root) {vector<string> result;vector<int> path;if(root==nullptr) return result;traversal(root, path, result);return result;}
};
/

404 左子叶之和

题目链接:左子叶之和

思路

还没有搞清递归,看这些题也无感。

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

参考链接

  1. https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/433319.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 1月27日,星期六

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年1月27日 星期六 农历腊月十七 1、 住建部&#xff1a;充分赋予城市房地产调控自主权&#xff0c;各城市可以因地制宜调整房地产政策。 2、 公安部&#xff1a;户口迁移等多项高频户籍业务实现全国“跨省通办”。 3、 环…

修复idea,eclipse ,clion控制台中文乱码

控制台乱码问题主要原因并不在编译器IDE身上&#xff0c;还主要是Windows的控制台默认编码问题。。。 Powershell&#xff0c;cmd等默认编码可能不是UTF-8&#xff0c;无需改动IDE的settings或者properties&#xff08;这治标不治本&#xff09;&#xff0c;直接让Windows系统…

GitBook可以搭建知识库吗?有无其他更好更方便的?

在一个现代化的企业中&#xff0c;知识是一项宝贵的资产。拥有一个完善的企业知识库&#xff0c;不仅可以加速员工的学习和成长&#xff0c;还能提高工作效率和团队协作能力。然而&#xff0c;随着企业不断发展和扩大规模&#xff0c;知识库的构建和管理变得更加复杂和耗时。 |…

第二百八十八回

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容&#xff0c;本章回中将介绍如何播放视频.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

如何在Shopee平台上进行宠物类目的选品丨shopee宠物选品

在Shopee平台上进行宠物类目的选品是一个重要的任务&#xff0c;它直接关系到卖家的销售业绩和市场竞争力。为了成功选择适合的宠物用品&#xff0c;在选品过程中&#xff0c;卖家可以遵循以下策略&#xff1a; 先给大家推荐一款shopee知虾数据运营工具知虾免费体验地址&#…

Nodejs前端学习Day1_补档

我给day1搞没了&#xff0c;还是觉得该补一个&#xff0c;有用 文章目录 前言一、学习目标二、学习目录三、为什么JavaScript代码可以在浏览器中运行四、为什么JavaScript可以操作DOM和BOM五、浏览器中的JavaScript运行环境总结 前言 补档 一、学习目标 二、学习目录 三、为什…

MySql8的简单使用(1.模糊查询 2.group by 分组 having过滤 3.JSON字段的实践)

MySql8的简单使用&#xff08;1.模糊查询 2.group by 分组 having过滤 3.JSON字段的实践&#xff09; 一.like模糊查询、group by 分组 having 过滤 建表语句 create table student(id int PRIMARY KEY,name char(10),age int,sex char(5)); alter table student add height…

React中使用LazyBuilder实现页面懒加载方法二

前言&#xff1a; 在一个表格中&#xff0c;需要展示100条数据&#xff0c;当每条数据里面需要承载的内容很多&#xff0c;需要渲染的元素也很多的时候&#xff0c;容易造成页面加载的速度很慢&#xff0c;不能给用户提供很好的体验时&#xff0c;懒加载是优化页面加载速度的方…

Dynamic-Pix2Pix:改进 Pix2Pix 在有限的训练数据下性能问题

Dynamic-Pix2Pix&#xff1a;改进 Pix2Pix 在有限的训练数据下性能问题 核心思想Dynamic-Pix2Pix 网络结构效果总结 核心思想 论文&#xff1a;https://arxiv.org/ftp/arxiv/papers/2211/2211.08570.pdf 代码&#xff1a;https://github.com/pranoyr/dynamic-Pix2Pix.git 如…

Thinkphp框架,最新ICP备案查询系统源码,附搭建教程

源码介绍 最新ICP备案查询系统源码 附教程 thinkphp框架 本系统支持网址备案&#xff0c;小程序备案&#xff0c;APP备案查询&#xff0c;快应用备案查询 优势&#xff1a; 响应速度快&#xff0c;没有延迟&#xff0c;没有缓存&#xff0c;数据与官方同步

计算机网络:体系结构知识点汇总

文章目录 一、计算机网络概述1.1概念及功能1.2组成和分类1.3性能指标 二、体系结构与参考模型2.1分层结构、协议、接口、服务2.2OSI参考模型2.3TCP/IP参考模型 一、计算机网络概述 1.1概念及功能 计算机网络就是通过各个节点&#xff0c;这个节点包括终端的电脑&#xff0c;手…

SQL语句创建一个简单的银行数据库

目录 一、银行业务E-R图 二、数据库模型图 转换关系模型后&#xff1a; 三、创建数据库 3.1 创建银行业务数据库 四、创建表 4.1 创建客户信息表 4.2 创建银行卡信息表 4.3 创建交易信息表 4.4 创建存款类型表 结果如下&#xff1a; ​编辑 五、插入适量数据 5.1…