给定一个二叉树,检查它是否是镜像对称的。

例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

1
   / \
  2   2
 / \ / \
3  4 4  3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

1
   / \
  2   2
   \   \
   3    3

进阶:

你可以运用递归和迭代两种方法解决这个问题吗?

思路: 递归方法,要注意的是终止条件,三种情况:

1、都到达了尾节点,返回true

如果还没又到达尾节点,那么分两种情况:

2、一个节点为空,一个不为空,返回false

3、两个节点不相等,返回false

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<int> res;bool isSymmetric(TreeNode* root) {if(root==NULL){return true;}return core(root->left,root->right);}bool core(TreeNode* left, TreeNode* right){if(left==NULL && right==NULL){return true;} if(left==NULL || right==NULL){return false;}if(left->val != right->val){return false;}return core(left->left, right->right) && core(left->right, right->left);}
};

对称二叉树—leetcode101相关推荐

  1. 代码随想录算法训练营Day15|Leetcode102二叉树的层序遍历、Leetcode226翻转二叉树、Leetcode101对称二叉树

    Day15打卡! 时长:2h 今日感想:今天主要学习了二叉树层次遍历的思路方法和应用.题目看似简单,实则有很多细节,有时间可以做做其他相似的推荐题目~ Leetcode102 二叉树的层序遍历 题目链 ...

  2. 【leetcode-101】 对称二叉树

    101. 对称二叉树 (1过) 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2 ...

  3. 【每日一算法】对称二叉树

    每日一算法-对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1   / \  2   2 / \ / \ 3  4 4  3 但是 ...

  4. 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /**  * Definition for a binary tree no ...

  5. LeetCode 100相同的树101对称二叉树

    微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: (https://bigsai.blog.csdn.net/articl ...

  6. [leetcode] 101. 对称二叉树

    101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...

  7. 《剑指offer》-- 二叉树的下一个结点、对称二叉树、按之字性顺序打印二叉树、把二叉树打印成多行

    一.二叉树的下一个结点: 1.题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 2.解题思路: 分析二叉树 ...

  8. 剑指offer之中判断二叉树是不是对称二叉树(递归和非递归实现)

    1 问题 判断二叉树是不是对称(递归和非递归实现) 如下二叉树,就是对称的二叉树 23 3 1 4 4 1 如下二叉树,就是非对称的二叉树 23 3 1 4 4 2 2 代码实现 #include & ...

  9. 101. 对称二叉树 golang

    101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,nu ...

最新文章

  1. 多因子降维法(MDR,Multifactor Dimensionality Reduction )
  2. [转]WinXP、Win7脚本自动加域及用户资料迁移
  3. python网课一般多少钱-Python培训网课一般学费多少?毕业生能承担吗?
  4. CSS3支持box-flex弹性布局
  5. Matlab基本函数-hidden函数,matlab中hidden off有什么用?
  6. arcgis中python坡度计算_ArcGIS不同坡度植被覆盖率分析步骤
  7. python redis订阅_Python 学习笔记 - Redis
  8. dpdk优化(转)???
  9. 39、VS838红外线接收实验
  10. 【游戏 #1】GTA5OL快速上线方法
  11. 基于layui 下拉多选 三级联动省市区demo
  12. 智能家居内网服务器,手把手教你搭建自己的智能家居IOT系统
  13. 80个让你笑爆肚皮的程序员段子,不好笑算我输!
  14. 微信小程序反编译wxss文件缺失_反编译任何微信小程序和如何还原wxss
  15. word里面空白页怎么删除
  16. 程序员是吃青春饭的吗?
  17. appserver安装教程
  18. SAP QM 检验批里某检验特性的取样数量跟检验计划设置不符?
  19. STM32F4 FPU和DSP库使用
  20. 《python数据分析与挖掘》-步骤

热门文章

  1. JAVA 海啸_java线程总结
  2. 【Windows】创建任务计划
  3. 【网络流】网络流小总结
  4. SQL-left(right,inner) join
  5. [整理]ASP.NET MVC 5
  6. Apple开发者账号申请学习方式
  7. Android 使用本地应用在线播放流媒体文件
  8. JS语法字典---网友总结
  9. 初识德国的小朋友兴趣课程
  10. 利用 Sunbird 处置你的日程表