101. Symmetric Tree
来源:互联网 发布:双11是天猫还是淘宝 编辑:程序博客网 时间:2024/06/06 16:46
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3]
is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following [1,2,2,null,3,null,3]
is not:
1 / \ 2 2 \ \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
public class Solution { public boolean isSymmetric(TreeNode root) { if(root == null){ return true; } return isSymmetric(root.left, root.right); } public boolean isSymmetric(TreeNode left, TreeNode right){ if(left == null && right == null){ return true; } if(left == null || right == null){ return false; } return left.val == right.val && isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left); }}
public boolean isSymmetric(TreeNode root) { if(root == null) return true; if(root.left == null && root.right == null) return true; if(root.left == null || root.right == null) return false; LinkedList<TreeNode> q1 = new LinkedList<TreeNode>(); LinkedList<TreeNode> q2 = new LinkedList<TreeNode>(); q1.add(root.left); q2.add(root.right); while(!q1.isEmpty() && !q2.isEmpty()){ TreeNode n1 = q1.poll(); TreeNode n2 = q2.poll(); if(n1.val != n2.val) return false; if((n1.left == null && n2.right != null) || (n1.left != null && n2.right == null)) return false; if((n1.right == null && n2.left != null) || (n1.right != null && n2.left == null)) return false; if(n1.left != null && n2.right != null){ q1.add(n1.left); q2.add(n2.right); } if(n1.right != null && n2.left != null){ q1.add(n1.right); q2.add(n2.left); } } return true;}
阅读全文
0 0
- LeetCode 101. Symmetric Tree
- [LeetCode]101.Symmetric Tree
- 【LeetCode】101.Symmetric Tree
- [Leetcode] 101. Symmetric Tree
- LeetCode --- 101. Symmetric Tree
- [leetcode] 101.Symmetric Tree
- 101.Symmetric Tree
- 101. Symmetric Tree
- LeetCode : 101. Symmetric Tree
- [leetcode]101.Symmetric Tree
- Leetcode 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree LeetCode
- 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree
- [LeetCode]101. Symmetric Tree
- hololens画布始终跟随摄像机视角和字体模糊了
- 浅谈C++内存泄漏
- C#生成代码提示XML文件
- AndroidEventBus的使用
- execl导出
- 101. Symmetric Tree
- 图片添加文字水印功能
- Objective-C block作用
- C语言的面向对象设计之 X264,FFMPEG 架构探讨
- cmd输出日期及格式
- 多线程下的函数调用次数统计,帮助理解synchronized和static关键字
- c#中接口和基类的问题
- 如何选择机器学习中的分类器
- 爱测未来安全-从真实的项目修复来看如何完全驾驭短文件名漏洞