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

页网站腾讯云学生机做网站

页网站,腾讯云学生机做网站,门户网站具有什么特点,白头鹰网站一天可以做多少任务题目链接/文章讲解/视频讲解:代码随想录 这个题目不难,使用前序遍历的方法,对结点的处理是交换左右孩子。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* Tr…

题目链接/文章讲解/视频讲解:代码随想录

这个题目不难,使用前序遍历的方法,对结点的处理是交换左右孩子。

/*** 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* node){if(node==NULL){return;}swap(node->left,node->right);traversal(node->left);  //左traversal(node->right); //右}TreeNode* invertTree(TreeNode* root) {traversal(root);return root;}
};

自己试了中序遍历发现不行,直接看的题解,题解给的很简单。

/*** 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 isSymmetric(TreeNode* root) {return root == nullptr || recur(root->left, root->right);}
private:bool recur(TreeNode* L, TreeNode* R) {if (L == nullptr && R == nullptr) //如果左右有同时为空 说明同时并且遍历到了叶子结点 此结点对称的 {return true;}if (L == nullptr || R == nullptr || L->val != R->val) //如果左右只有一个为空 说明不对陈 或者 左值不等于对称的右值{return false;}return recur(L->left, R->right) && recur(L->right, R->left);}
};

使用层序遍历,每次遍历单层就是深度+1,直到层序遍历完看深度是多少就行

/*** 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 maxDepth(TreeNode* root) {int depth=0;//存入结果的数组queue<TreeNode*> que;//存入结点的队列if(root!=NULL){que.push(root);//}while(!que.empty())//队列非空 说明队列中有结点{int size=que.size();//当前队列的所有元素个数,就是本层的节点数for(int i=0;i<size;i++){TreeNode* node=que.front();que.pop();if(node->left){que.push(node->left);}if(node->right){que.push(node->right);}}depth++;//遍历完一层就+1}return depth;}
};

 

此题目也是用层序遍历,处理过程是如果发现某个结点的左孩子和右孩子同时为NULL,那么就是第一次找到了叶子节点

/*** 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 minDepth(TreeNode* root) {int depth=0;//存入结果的数组queue<TreeNode*> que;//存入结点的队列if(root!=NULL){que.push(root);}while(!que.empty())//队列非空 说明队列中有结点{int size=que.size();//当前队列的所有元素个数,就是本层的节点数for(int i=0;i<size;i++){TreeNode* node=que.front();que.pop();if(node->left==NULL && node->right==NULL){return depth+1;}if(node->left){que.push(node->left);}if(node->right){que.push(node->right);}}depth++;//遍历完一层就+1}return depth;}

,直接返回深度+1,为什么+1,因为此层没有遍历完毕,多以手动+1; 

http://www.dtcms.com/a/419090.html

相关文章:

  • C++ 模板(Template)基础与应用
  • Flask实战指南:从基础到高阶的完整开发流程
  • I2C总线详解
  • 从底层到应用:开散列哈希表与_map/_set 的完整实现(附逐行注释)
  • MoonBit 异步网络库发布
  • OpenLayers地图交互 -- 章节十六:双击缩放交互详解
  • Kubernetes HPA从入门到精通
  • 株洲做网站的公司网站页面设计
  • 汕头企业网站建设价格视频作为网站背景
  • 视频抽帧完全指南:使用PowerShell批量提取与优化图片序列
  • 1、User-Service 服务设计规范文档
  • 企业网站模板购买企业级网站建设
  • 路由器设置手机网站打不开wordpress跳转二级域名
  • MySQL在线DDL:零停机改表实战指南
  • 哪个做图网站可以挣钱马鞍山网站建设公司排名
  • 杭州公司做网站电商是干什么工作的
  • 揭秘InnoDB磁盘I/O与存储空间管理
  • 【深度相机术语与概念】
  • Android studio 依赖jar包里的类引用时红名,但能构建打包运行。解决红名异常
  • 做设计常用的素材网站网站seo啥意思
  • 云南最便宜的网站建设农村电商平台简介
  • AI时代下,我们需要新一代的金融基础软件
  • 挪威网站后缀网站服务器ip
  • Salesforce 生态中的缓存、消息队列和流处理
  • 【开源】基于STM32的无线条码扫描仪控制系统设计
  • 南京我爱我家网站建设新村二手房有限责任公司和有限公司的区别
  • WebStorm 快捷键大全(Windows / macOS 双平台对照)
  • 多线程顺序输出abc
  • CSS盒模型全面解析
  • 免费开源cms网站源码网页设计公司网站设计