101.symmetric-tree
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
解法1
通过递归的方式:
class Solution {public boolean isSymmetric(TreeNode root) {if(null == root) {return false;}return check(root.left,root.right);}private boolean check(TreeNode left, TreeNode right) {if(null == left && null == right) {return true;}else if (null != left && null != right) {if(left.val == right.val) {return check(left.left, right.right) && check(left.right, right.left);}else {return false;}}return false;}
}
解法2
可以使用层次遍历,使用2个队列存在左子树,右子树. 同时在放入右子树的时候需要变换一下右子树的子节点的位置.
class Solution {public boolean isSymmetric(TreeNode root) {if(null == root) {return false;}LinkedList<TreeNode> leftQueue = new LinkedList<>();LinkedList<TreeNode> rightQueue = new LinkedList<>();leftQueue.offer(root.left);rightQueue.offer(root.right);while (! leftQueue.isEmpty() && ! rightQueue.isEmpty()) {TreeNode l = leftQueue.poll();TreeNode r = rightQueue.poll();if(l == null && r == null) {continue;}else if(l != null && r != null && l.val == r.val) {leftQueue.offer(l.left);leftQueue.offer(l.right);rightQueue.offer(r.right);rightQueue.offer(r.left);}else {return false;}}return leftQueue.isEmpty() && rightQueue.isEmpty();}}
101.symmetric-tree相关推荐
- 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /** * Definition for a binary tree no ...
- LeetCode 101. Symmetric Tree
LeetCode 101. Symmetric Tree Solution1 参考<剑指offer>上的解法:https://blog.csdn.net/allenlzcoder/arti ...
- 101. Symmetric Tree (C语言)
101. Symmetric Tree (C语言) 判断是否为左右镜面对称的二叉树 题目 Given the root of a binary tree, check whether it is a ...
- Leetcode: 101. Symmetric Tree
题目 Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). Fo ...
- Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
题目: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). F ...
- leetcode python3 简单题101. Symmetric Tree
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第一百零一题 (1)题目 英文: Given a binary tree, chec ...
- 【easy】101. Symmetric Tree
判断一棵二叉树是否对称 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* T ...
- leetcode 101 Symmetric Tree
判定两棵树是否严格镜像对称. 解决: BFS bool isSymmetric(TreeNode* root) {if (root == NULL)return true;deque<TreeN ...
- LeetCode Algorithm 101. Symmetric Tree
Title 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3, ...
- Symmetric Tree (101)
Symmetric Tree Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its ...
最新文章
- Day 14 知识点串讲 下
- Spring Boot 性能优化
- linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项
- sap 常用事务代码
- 从编解码、传输到基础架构 详解Bigo多媒体技术栈
- python图片保存_python读取和保存图片5种方法对比
- 如何设计一个好玩的游戏——游戏设计的艺术
- SAP 修改字段长度
- web安全工具介绍(漏洞扫描、信息收集、提升权限的网站、app)持续更新
- 《逆流而上的你》大结局将至,邹凯高蜜何去何从
- SQL语句查询关键字
- 微信公众平台开发入门:[8]聊天机器人可开发
- 使用region注释,将代码块收(折叠)起来
- 汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、
- 考拉海购成重构互联网版图的最大“变量”
- 2023年最新批量删除微博_新版微博怎么批量删除自己发的微博?
- 查看pip支持版本方法
- scroll-view的描点跳转
- 联合体(union)的使用方法及其本质
- Qt编写的项目作品7-视频监控系统
热门文章
- git 源码安装后报错/usr/bin/git: No such file or directory
- 上方网首发:TestBird《2015年度手游测试白皮书》
- python爬取百度天气接口【实战记录】
- 【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造
- linux上使用openocd的问题
- 实时网速监测app_实时网速app下载-实时网速下载1.0.0安卓版-西西软件下载
- Project计算项目进度
- 干货分享:Windows资源管理器无限重启?解决方法竟然是…
- DockerSwarm部署服务一直处于preparing
- js判断密码是否包含数字、大写字母、小写字母、特殊符号