LeetCode101 SynmetricTree Java题解
来源:互联网 发布:think php框架 编辑:程序博客网 时间:2024/06/05 20:25
题目:
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following is not:
1 / \ 2 2 \ \ 3 3
解题:
是否对称就是要求每一层从左到右刚好等于从右到左,有两种解法一种非递归,一种递归。
非递归:
public static boolean isSymmetric(TreeNode root) {if(root==null)return true;Queue<TreeNode> left=new LinkedList<>();Queue<TreeNode> right=new LinkedList<>();if(root.left==null)left.offer(root.left);if(root.right==null)right.offer(root.right);while(!left.isEmpty()&&!right.isEmpty()){TreeNode l=left.poll();TreeNode r=right.poll();if(l==null&&r==null) continue;if(l==null||r==null) return false;if(l.val!=r.val) return false;left.offer(l.left);left.offer(l.right);right.offer(r.right);right.offer(r.left);//倒序插入 形成镜像}if(left.isEmpty()&&right.isEmpty())return true;else {return false;} }递归:
public boolean isSymmetric2(TreeNode root) { if(root==null) return true; else {return isSame(root.left, root.right);} } public boolean isSame(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; else {return isSame(left.left, right.right)&&isSame(left.right, right.left);} }
0 0
- LeetCode101 SynmetricTree Java题解
- LeetCode101. Symmetric Tree题解
- leetcode101题 题解 翻译 C语言版 Python版
- leetcode101.SymmetricTree
- [LeetCode101]Spiral Matrix2
- LeetCode101—Symmetric Tree
- LeetCode101 Symmetric Tree
- LeetCode101. Symmetric Tree
- leetcode101~Symmetric Tree
- leetcode101 Symmetric Tree
- LeetCode101 Symmetric Tree
- LeetCode101. Symmetric Tree
- leetcode101. Symmetric Tree
- LeetCode101. Symmetric Tree
- LeetCode101. Symmetric Tree
- LeetCode101——Symmetric Tree
- JAVA 面试题解
- LeetCode155 MinStack java题解
- LINUX命令后面常见的>/DEV/NULL 和 2>&1 的含义
- 安装AppServ完成后 不能访问到127.0.0.1的问题
- luasocket系列: luasocket tcp
- python常用库整理
- TQ2440利用nfs挂载文件系统不稳定,启动成功后,总是一会时间就重启
- LeetCode101 SynmetricTree Java题解
- 数组内数值的排序
- C语言程序设计 C语言中的时间函数
- C++基础---字符串(char型字符串)
- 花擦节 Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑们
- android TextView字体切换
- QPBOC交易流程详解--POS与卡片的数据交互进行分析
- Html 语法学习笔记一
- poj 1328 Radar Installation 贪心 暑假第三题