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

模板网站建设咨询网站做地域屏蔽

模板网站建设咨询,网站做地域屏蔽,成华网站制作,网站建设服务优势今天我们一起来看一道判断一棵树是否为对称二叉树的题,力扣101题, https://leetcode.cn/problems/symmetric-tree/ 我们首先先来分析这道题,要判断这道题是否对称,我们首先需要判断的是这颗树根节点的左右子树是否对称&#xff0…

今天我们一起来看一道判断一棵树是否为对称二叉树的题,力扣101题,

https://leetcode.cn/problems/symmetric-tree/

 我们首先先来分析这道题,要判断这道题是否对称,我们首先需要判断的是这颗树根节点的左右子树是否对称,所以我们比较对象是根节点的左右子树,那我们不妨自己写一个函数my_isSymmetric,参数就是

bool my_isSymmetric(struct TreeNode* leftroot,struct TreeNode* rightroot),我们用这个函数来判断这棵树的左右子树是否对称,首先我们要判断如果

左右子树都是空树呢?也就是这棵树只有一个根节点,这样的话也还算对称的,即

if(leftroot==NULL&&rightroot==NULL){return true;}

左右子树都为空的情况判断了,现在判断有一边为空的情况呢?肯定就不对称了,即

if(leftroot==NULL||rightroot==NULL){return false;}

有人会疑问为什么这里的连接符号用||,注意,程序走到这里的前提是这棵树的左右子树不为空,即左右子树两边不会同时为空,所以用||符号如果leftroot==NULL就不会走后面rightroot==NULL,如果leftroot!=NULL,走到后面判断right==NULL是否为空,如果两边有一边为空,这棵树肯定就不对称返回false;

下面,程序走过上面那一步那就证明左右子树都不为空,那我们只需要判断leftroot的val和rightroot的val是否相等就可以了,如果不相等返回false,即

if(leftroot->val!=rightroot->val){return false;}

这个时候程序还没有返回,那就是上述步骤都顺利通过,那就递归判断leftroot的左子树和righttoor的右子树 和 leftroot的右子树和right的左子树是否相等就可以了,

 return my_isSymmetric(leftroot->left,rightroot->right)&&my_isSymmetric(leftroot->right,rightroot->left);

这个函数到这里就封装完毕了,我们只需要在给的isSymmetric下面调用自己的my_isSymmetric就可以啦,即

 return my_isSymmetric(root->left,root->right);

 完整代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool my_isSymmetric(struct TreeNode* leftroot,struct TreeNode* rightroot)
{if(leftroot==NULL&&rightroot==NULL)//判断左右子树是否都为空{return true;}if(leftroot==NULL||rightroot==NULL)//判断是由有一边为空{return false;}if(leftroot->val!=rightroot->val)//判断左右子树val是否相等{return false;}return my_isSymmetric(leftroot->left,rightroot->right)&&my_isSymmetric(leftroot->right,rightroot->left);//左子树的左子树和右子树的右子树比较,左子树的右子树和右子树的左子树比较,二者必须同时满足;} 
bool isSymmetric(struct TreeNode* root) {return my_isSymmetric(root->left,root->right);
}

http://www.yayakq.cn/news/484871/

相关文章:

  • 网站建设开题报告论述公司设立流程七个步骤
  • c++网站开发杭州个体户注册
  • 家电网站首页制作做淘客网站需要多大空间
  • app公司网站模板泰州网站制作建设
  • 门户网站建站要求互联网站是不是自媒体平台
  • 电子商务网站建设的方法有哪些360推广平台登录入口
  • 沈阳网站推广全国工商企业信息查询网
  • 个人如何建设网站网站建设合同通用范本
  • 注册网站的软件小叮当网站建设
  • 网站 语言切换怎么做免费论坛申请无广告
  • it项目网站开发的需求文档做网站简约学校网站
  • 微商城网站开发中国建筑协会证书查询
  • 创建网站首页模板网免费
  • 网站被百度惩罚怎么办竞价网站做推广
  • wordpress能做大站吗怎么宣传自己的网站推广
  • 石家庄有做网站的公司吗asp购物网站源码
  • 中文域名网站有哪些西宁手机网站建设
  • 公司开发个网站怎么做wordpress category order
  • 表白网站制作源代码wordpress阅读设置
  • 电子商务网站建设 价格wordpress上传图片占空间
  • 石家庄做网站邮箱电话小程序制作开发平台
  • 商城顺德网站建设wordpress 文章标题移动
  • 石家庄语音网站建设公司网站访问量怎么做
  • 学校网站的服务器手机软件app制作的三种方式
  • 济南网站备案程序深圳网页制作与网站建设方案维护
  • 聊城做网站公司信息百度一下你就知道移动首页
  • 长春网站建设流程世界杯比赛系统网页设计作业
  • 找国外公司做网站wordpress浏览次数插件
  • 做生存曲线的网站网站排名与什么有关系
  • 辽阳住房和城乡建设网站discuz网站伪静态设置