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

第十四天|层序遍历、226.翻转二叉树 (优先掌握递归)、101. 对称二叉树 (优先掌握递归)

层序遍历

题目链接:102. 二叉树的层序遍历 - 力扣(LeetCode)

/*** 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:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> result;queue<TreeNode*> Qu;if (root != nullptr) Qu.push(root);while (!Qu.empty()) {int Size = Qu.size();vector<int> Ve;for (int i = 0; i < Size; i++) {TreeNode* Cur = Qu.front();Qu.pop();Ve.push_back(Cur->val);if (Cur->left) Qu.push(Cur->left);if (Cur->right) Qu.push(Cur->right);}result.push_back(Ve);}return result;}
};

226.翻转二叉树

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

/*** 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:TreeNode* invertTree(TreeNode* root) {if (root == nullptr) return root;stack<TreeNode*> St;St.push(root);while (!St.empty()) {TreeNode * cur = St.top();St.pop();swap(cur->left, cur->right);if (cur->left) St.push(cur->left);if (cur->right) St.push(cur->right);}return root;}
};

101.对称二叉树

题目链接:101. 对称二叉树 - 力扣(LeetCode)

/*** 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:bool Compare(TreeNode* left, TreeNode* right) {if (left != nullptr && right == nullptr) return false;else if (right != nullptr && left == nullptr) return false;else if (left ==nullptr && right == nullptr) return true;else if (left->val != right->val) return false;bool leftbool = Compare(left->left, right->right);bool rightbool = Compare(left->right, right->left);bool result = leftbool && rightbool;return result;}bool isSymmetric(TreeNode* root) {if (root == nullptr) return true;else return Compare(root->left, root->right);}
};

http://www.lryc.cn/news/136809.html

相关文章:

  • 如何使用装rancher安装k8s集群(k8s集群图形化管理工具)
  • 类加载器与双亲委派
  • 用Python创造乐趣:编写你自己的探索游戏世界
  • git stash弹出栈中的指定内容
  • 5.7 汇编语言:汇编高效乘法运算
  • Graphql中的N+1问题
  • mysql、oracle、sqlserver常见方法区分
  • AcWing 4382. 快速打字
  • DataFrame.query()--Pandas
  • 【C语言】美元名字和面额对应问题
  • uniapp隐藏底部导航栏(非自定义底部导航栏)
  • CSS background 背景
  • 安防监控视频平台EasyCVR视频汇聚平台和税务可视化综合管理应用方案
  • 深度学习实战50-构建ChatOCR项目:基于大语言模型的OCR识别问答系统实战
  • 计算机安全学习笔记(I):访问控制安全原理
  • Linux 虚拟机安装 hadoop
  • FxFactory 8 Pro Mac 苹果电脑版 fcpx/ae/motion视觉特效软件包
  • 解决问题:如何在 Git 中查看提交历史
  • 不同规模的测试团队分别适合哪些测试用例管理工具?测试用例管理工具选型指南
  • 服务器遭受攻击,CPU升高,流量升高,你一般如何处理
  • GPT生产实践之定制化翻译
  • SpringMVC入门笔记
  • 如何构建多域名HTTPS代理服务器转发
  • 【Java 高阶】一文精通 Spring MVC - 数据验证(七)
  • 木叶飞舞之【机器人ROS2】篇章_第一节、ROS2 humble及cartorgrapher安装
  • Git版本管理(02)patch操作和分支操作整理
  • 前端需要理解的HTML知识
  • 机器学习笔记 - 数据科学中基于 Scikit-Learn、Tensorflow、Pandas 和 Scipy的7种最常用的特征工程技术
  • 深眸科技创新赋能视觉应用产品,以AI+机器视觉解决行业应用难题
  • 2023年国赛 高教社杯数学建模思路 - 案例:异常检测