Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
镜面条件,根节点左右子树:
1、left.val == right.val
2、left的左子树和right的右子树成镜面
3、left的右子树和right的左子树成镜面
public class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return true;
} else {
return isSame(root.left, root.right);
}
}
private boolean isSame(TreeNode left, TreeNode right) {
if(left == null && right == null) return true;
if(left == null || right == null) return false;
return (left.val == right.val) && isSame(left.left,right.right) && isSame(left.right,right.left);
}
}