LeetCode 100相同的树101对称二叉树
微信搜一搜:
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请你帮两件事帮忙一下:
star支持一下, 您的肯定是我在平台创作的源源动力。
微信搜索「bigsai」,关注我的公众号,不仅免费送你电子书,我还会第一时间在公众号分享知识技术。加我还可拉你进力扣打卡群一起打卡LeetCode。
记得关注、咱们下次再见!
LeetCode 100相同的树101对称二叉树相关推荐
- 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)
[LeetCode][HOT]101. 对称二叉树 文章目录 [LeetCode][HOT]101. 对称二叉树 package hot;class TreeNode{int val;TreeNode ...
- LeetCode 101. 对称二叉树 思考分析
题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / 2 2 / \ / 3 4 4 3 但是下面这个 [1,2,2,null,3,null ...
- [leetcode] 101. 对称二叉树
101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...
- 【二叉树专题】—— 相同的树、对称二叉树、二叉树的最大深度
LeetCode 100: 相同的树 ⭕️ 解题思路: (1)特殊情况分析: 当两棵树都为空时,那么两棵树一定是相同的 如果两棵树的根结点的数值不同,那么两棵树一定是不相同的 如果两个树只有一棵树为空 ...
- 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树
代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...
- 101. 对称二叉树
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \ 2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,n ...
- 代码随想录算法训练营第十五天| 102层序遍历、226.翻转二叉树、101. 对称二叉树
层序遍历 参考文章:代码随想录 解题思路: 层序遍历一个二叉树.就是从左到右一层一层的去遍历二叉树.这种遍历的方式和我们之前讲过的都不太一样. 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合 ...
- 代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2
代码随想录算法训练营第十五天 | 层序遍历 10,226.翻转二叉树,101.对称二叉树 2 1.1 层序遍历 10 1.1.1 102.二叉树的层序遍历 思路: 通过队列实现 class Solut ...
- 101. 对称二叉树 golang
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,nu ...
最新文章
- win7虚拟机黑苹果_关于最近折腾黑苹果的一些心得分享
- Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hos
- Java中toString函数干嘛用?
- 【深度学习】PyTorch深度学习训练可视化工具visdom
- java最大内存_JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?
- 实现Java监视的12个步骤程序存在缺陷
- mvn clean install时出现 java.lang.ClassCastException
- spring-第十九篇AOP面向切面编程之增强处理的优先级
- 181226每日一句
- github清华大学计算机系课程攻略,GitHub 项目推荐|清华大学计算机系课程相关资源集合|内容丰富...
- 三菱plc控制步进电机实例_FX3U PLC通过手摇轮,如何手动控制步进电机
- C编程实例-“约瑟夫问题” 解法
- Radius认证有线与无线网络(一)
- python 删除字典none_python – 从字典中删除NoneTypes
- HDU 2154跳舞毯
- 【精品,面试之前必读】【转贴】安氏大俗商业学(2005-8-28)
- c 语言 如何优化cpu占用率,C#程序优化-有效减少CPU占用率
- CSS网页布局中易犯的30个小错误
- 苹果电脑入门:必须掌握的快捷键
- 携程PMO | 小罗说敏捷-WIP限制在制品
热门文章
- (chap1 web网络基础) HTTP协议相关的各个协议(2)
- C++ Primer 5th笔记(chap 15 OOP)继承的构造函数容器
- C++ Primer 5th笔记(chap 15 OOP)继承中的类作用域
- 节点身份认证(1)DID(Decentralized Identity)系统
- WIN32多线程抢红包练习
- Androidstudio无法修改按钮颜色
- 【CTF大赛】100步getshell之就差一步——The MOVAPS issue
- MySql 查询时 为NULL 设置默认值
- 【Git Bash】在window 下,设置打开gitbash快捷键、修改默认路径
- Acwing第 28 场周赛【完结】