|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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.
复制代码
- /**
- * 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 helper(root.left, root. right) ;
- }
-
- public boolean helper(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;
-
- return helper(left.left,right.right) && helper(left.right, right.left);
-
- }
- }
复制代码 |
|