101. 对称二叉树(简单)
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1
/ \
2 2
/ \ / \
3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1
/ \
2 2
\ \
3 3
进阶:
你可以运用递归和迭代两种方法解决这个问题吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/symmetric-tree
思路1:
递归
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 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 false; }else if(left!=null && right==null){ return false; }else if(left==null && right==null){ return true; }else if(left.val!=right.val){ return false; } return isSymmetric(left.left,right.right) && isSymmetric(left.right,right.left); } }
|