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

对称二叉树(力扣101)

题目如下:

思路

对于这道题, 我会采用递归的解法.

看着对称的二叉树,

写下判断对称的条件,

再进入递归即可.

值得注意的是,

代码中会有两个函数,

第一个是isSymmetric,第二个是judge.

因为这里会考虑到一种特殊情况,

那就是

二叉树的根结点(最上面的那个),它会单独用isSymmetric判断一下,

judge则用来判断根节点的左右两边结点的对称.

代码中有具体注释,请大家看代码.

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*///注意传参,比较的是一个节点的左右子树
bool judge(struct TreeNode*left,struct TreeNode*right)
{if(left==NULL&&right==NULL){return true;}if(left==NULL||right==NULL){return false;}if(left->val!=right->val){return false;}//再次注意传参,由示例的图可知传参参数的对称性return judge(left->left,right->right)&&judge(left->right,right->left);
}bool isSymmetric(struct TreeNode* root) {//空树对称返回trueif(root==NULL){return true;}//左右子树都为空if(root->left==NULL&&root->right==NULL){return true;}//左右子树中有一颗不为空if(root->left==NULL||root->right==NULL){return false;}//判断是否对称if(root->left->val!=root->right->val){return false;}//进入递归return judge(root->left,root->right);
}


http://www.mrgr.cn/news/67723.html

相关文章:

  • 力扣1658.将x减到0的最小操作数
  • 低代码环境中的领域与根实体解析
  • Linux运维-Prometheus监控系统搭建
  • 掌握Rust模式匹配:从基础语法到实际应用
  • Vue全局事件总线
  • 20241107,LeetCode 每日一题,使用 Go 计算两数相加
  • 国标GB28181
  • 一台电脑如何同时多开多 IP 浏览器多登账号?
  • git中的gitignore文件
  • 大模型-微调与对齐-人类对齐背景与标准
  • 【Linux】冯诺依曼体系、再谈操作系统
  • 使用Postman搞定各种接口token实战
  • 自动驾驶革命:从特斯拉到百度,谁将主宰未来交通?
  • hcitool命令和bluetoothctl命令
  • linux文件重命名
  • HTB:Nibbles[WriteUP]
  • 实战:Python+ Flask轻松实现Mock Server
  • 【AD】3-1 原理图页的大小及自定义设置
  • 构建可视化站点地图:提升用户体验
  • Oracle 迁移到 OB 过程中的函数改造案例
  • AP5001A AP系列模拟信号源
  • 标签权重的计算方法之贝叶斯平滑
  • Postman上传图片如何处理
  • M1M2 MAC安装windows11 虚拟机的全过程
  • Oracle 数据库特性一图快速了解
  • 元学习法Meta-Learner