微信搜一搜bigsai
大家都在关注的刷题、学习数据结构和算法宝藏项目
关注回复进群即可加入力扣打卡群,欢迎划水。近期打卡:
(https://bigsai.blog.csdn.net/article/details/111778579)
LeetCode 96不同的二叉搜索树&95不同的二叉搜索树Ⅱ
LeetCode 97交错字符串(动态规划)
LeetCode 98验证二叉搜素树(中序遍历)&99恢复二叉搜索树

相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入:       1         1/ \       / \2   3     2   3[1,2,3],   [1,2,3]输出: true

示例 2:

输入:      1          1/           \2             2[1,2],     [1,null,2]输出: false

示例 3:

输入:       1         1/ \       / \2   1     1   2[1,2,1],   [1,1,2]输出: false

分析:
结构相同,并且结构上的值也相同,这题很简单,使用一种遍历策略同时遍历比较节点是否都存在,如果存在值是否都相同即可,但是为了方便这里我使用递归的方法实现:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if(p==null&&q==null)return true;if((p==null&&q!=null)||(p!=null&&q==null))return false;if(p.val!=q.val)return false;return isSameTree(p.left, q.left)&&isSameTree(p.right, q.right);}
}

对称二叉树

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

例如,二叉树 [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

进阶:

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

分析:
查看镜像对称,依然使用某种遍历方式,一个从左向右,一个从右向左顺序,查看遍历的每对节点是否相等。这里我就提供个人非递归解法:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public boolean isSymmetric(TreeNode root) {if(root==null)return true;return isSymmetric(root.left,root.right);}private boolean isSymmetric(TreeNode left, TreeNode right) {if((left==null)^(right==null))return false;if(left==null)return true;if(left.val!=right.val)return false;return isSymmetric(left.left, right.right)&&isSymmetric(left.right, right.left);}
}

原创不易,bigsai请你帮两件事帮忙一下:

  1. star支持一下, 您的肯定是我在平台创作的源源动力。

  2. 微信搜索「bigsai」,关注我的公众号,不仅免费送你电子书,我还会第一时间在公众号分享知识技术。加我还可拉你进力扣打卡群一起打卡LeetCode。

记得关注、咱们下次再见!

LeetCode 100相同的树101对称二叉树相关推荐

  1. 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)

    [LeetCode][HOT]101. 对称二叉树 文章目录 [LeetCode][HOT]101. 对称二叉树 package hot;class TreeNode{int val;TreeNode ...

  2. LeetCode 101. 对称二叉树 思考分析

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

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

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

  4. 【二叉树专题】—— 相同的树、对称二叉树、二叉树的最大深度

    LeetCode 100: 相同的树 ⭕️ 解题思路: (1)特殊情况分析: 当两棵树都为空时,那么两棵树一定是相同的 如果两棵树的根结点的数值不同,那么两棵树一定是不相同的 如果两个树只有一棵树为空 ...

  5. 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树

    代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...

  6. 101. 对称二叉树

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

  7. 代码随想录算法训练营第十五天| 102层序遍历、226.翻转二叉树、101. 对称二叉树

    层序遍历 参考文章:代码随想录 解题思路: 层序遍历一个二叉树.就是从左到右一层一层的去遍历二叉树.这种遍历的方式和我们之前讲过的都不太一样. 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合 ...

  8. 代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2

    代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2 1.1 层序遍历 10 1.1.1 102.二叉树的层序遍历 思路: 通过队列实现 class Solut ...

  9. 101. 对称二叉树 golang

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

最新文章

  1. win7虚拟机黑苹果_关于最近折腾黑苹果的一些心得分享
  2. Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hos
  3. Java中toString函数干嘛用?
  4. 【深度学习】PyTorch深度学习训练可视化工具visdom
  5. java最大内存_JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?
  6. 实现Java监视的12个步骤程序存在缺陷
  7. mvn clean install时出现 java.lang.ClassCastException
  8. spring-第十九篇AOP面向切面编程之增强处理的优先级
  9. 181226每日一句
  10. github清华大学计算机系课程攻略,GitHub 项目推荐|清华大学计算机系课程相关资源集合|内容丰富...
  11. 三菱plc控制步进电机实例_FX3U PLC通过手摇轮,如何手动控制步进电机
  12. C编程实例-“约瑟夫问题” 解法
  13. Radius认证有线与无线网络(一)
  14. python 删除字典none_python – 从字典中删除NoneTypes
  15. HDU 2154跳舞毯
  16. 【精品,面试之前必读】【转贴】安氏大俗商业学(2005-8-28)
  17. c 语言 如何优化cpu占用率,C#程序优化-有效减少CPU占用率
  18. CSS网页布局中易犯的30个小错误
  19. 苹果电脑入门:必须掌握的快捷键
  20. 携程PMO | 小罗说敏捷-WIP限制在制品

热门文章

  1. (chap1 web网络基础) HTTP协议相关的各个协议(2)
  2. C++ Primer 5th笔记(chap 15 OOP)继承的构造函数容器
  3. C++ Primer 5th笔记(chap 15 OOP)继承中的类作用域
  4. 节点身份认证(1)DID(Decentralized Identity)系统
  5. WIN32多线程抢红包练习
  6. Androidstudio无法修改按钮颜色
  7. 【CTF大赛】100步getshell之就差一步——The MOVAPS issue
  8. MySql 查询时 为NULL 设置默认值
  9. 【Git Bash】在window 下,设置打开gitbash快捷键、修改默认路径
  10. Acwing第 28 场周赛【完结】