Leetcode题解 101. Symmetric Tree
来源:互联网 发布:linux 图形库 编辑:程序博客网 时间:2024/06/01 14:10
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
用递归来做,刚开始先1,对二叉树求镜像,2,再比较。
其实第一步是多余的,直接比较即可。
left.left 和 right.right 比
left.right 和 right.left 比 即可得出结果。
left.val==right.val这个条件虽然不添加也能AC,但是添加后可以减少比较次数,优化算法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean isSymmetric(TreeNode root) { if(null==root) return true; return checkEquals(root.left,root.right); } static boolean checkEquals(TreeNode left,TreeNode right){ if((left==null&&right==null)) return true; else if(left==null||right==null) return false; else if(left.val!=right.val) return false; else return left.val==right.val&&checkEquals(left.left,right.right)&&checkEquals(left.right,right.left); }}
0 0
- Leetcode题解 101. Symmetric Tree
- LeetCode 101. Symmetric Tree 题解
- LeetCode题解:Symmetric Tree
- LeetCode 题解(223) : Symmetric Tree
- LeetCode题解-101-Symmetric Tree
- LeetCode 101. Symmetric Tree
- [LeetCode]101.Symmetric Tree
- 【LeetCode】101.Symmetric Tree
- [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 LeetCode
- [LeetCode]101. Symmetric Tree
- [LeetCode]101. Symmetric Tree
- [LeetCode]101. Symmetric Tree
- 利用多线程拷贝文件
- 来自@Golden_Shadow 我的3D引擎数学库实现文件
- 从AsyncTask的源码解析AsyncTask工作原理
- ubuntu apt-get 与centos yum的比较
- 实现UDP的可靠文件传输 练习
- Leetcode题解 101. Symmetric Tree
- java时间比较2
- scikit-learn : 线性回归模型性能评估
- 求最长公共子串的Needleman/Wunsch算法
- KMP模式匹配算法C++实现
- 专题四ACM1003
- Java中的static关键字和final关键字
- 素数和
- 石子归并2