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

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

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


一、110.平衡二叉树

解题代码C++:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int getDepth(TreeNode* node){if(!node) return 0;return 1 + max(getDepth(node->left), getDepth(node->right));}bool isBalanced(TreeNode* root) {if(!root) return true;return abs(getDepth(root->left) - getDepth(root->right)) <= 1 && isBalanced(root->left) && isBalanced(root->right);}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html



二、257. 二叉树的所有路径

解题代码C++:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:void traversal(TreeNode* cur, string path, vector<string>& result){path += to_string(cur->val);if(cur->left == NULL && cur->right == NULL){result.push_back(path);return;}if(cur->left) traversal(cur->left, path + "->", result);if(cur->right) traversal(cur->right, path + "->", result);}vector<string> binaryTreePaths(TreeNode* root) {vector<string> result;string path;if(!root) return result;traversal(root, path, result);return result;}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0257.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%89%80%E6%9C%89%E8%B7%AF%E5%BE%84.html



三、404.左叶子之和

解题代码C++:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int sumOfLeftLeaves(TreeNode* root) {if(!root) return 0;int leftValue = 0;if(root->left != NULL && root->left->left == NULL && root->left->right == NULL)leftValue += root->left->val;return leftValue + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0404.%E5%B7%A6%E5%8F%B6%E5%AD%90%E4%B9%8B%E5%92%8C.html

相关文章:

  • python数据类型之列表
  • 海外媒体发稿的关键步骤和投稿策略:如何撰写高质量的新闻稿?国外软文发布平台有哪些?
  • 如何同一局域网下ssh远程登录
  • 提取COCO 数据集的部分类
  • 移动云ECS主机:未来云计算的驱动力
  • 局部放电试验变频电源
  • 牛客NC391 快乐数【simple 模拟法 Java/Go/PHP】
  • el-table 合并单元格_以合并属性值相同行为例
  • ysoserial下载和使用
  • PHP开发安全:专家级代码审计策略与方法
  • 前端vue 动态加载ts文件,动态调用ts内的方法
  • 【算法】前缀和算法——和为k的子数组之和
  • 在Windows操作系统中克隆SD卡的简单方法!
  • WordPress插件Disable WP REST API,可根据是否登录来禁用REST API
  • 2024电工杯数学建模B题高质量成品论文,包括代码数据
  • ➹使用webpack配置多页面应用(MPA)
  • AngularJS指令开发(1)——参数详解
  • JS字符串转数字方法总结
  • vue脚手架vue-cli
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 关于字符编码你应该知道的事情
  • 前言-如何学习区块链
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何编写一个可升级的智能合约
  • 详解NodeJs流之一
  • 一份游戏开发学习路线
  • 一个JAVA程序员成长之路分享
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • #QT(QCharts绘制曲线)
  • $refs 、$nextTic、动态组件、name的使用
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (2)(2.10) LTM telemetry
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (动态规划)5. 最长回文子串 java解决
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (六)vue-router+UI组件库
  • (七)glDrawArry绘制
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (四)opengl函数加载和错误处理
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net Application的目录
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .Net的C#语言取月份数值对应的MonthName值
  • .Net各种迷惑命名解释
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [Android]竖直滑动选择器WheelView的实现