判断一棵二叉树是否为对称二叉树。
形如:是一棵对称二叉树。这不是一棵对称二叉树。
思路:递归;分左右儿子,如果左儿子的左儿子和右儿子的右儿子相等且左儿子的右儿子和右儿子的左儿子相等,则为真。
代码:
public boolean isSymmetric(TreeNode root) {
if(root == null)return true;
return isMirror(root.left, root.right);
}
public boolean isMirror (TreeNode left,TreeNode right) {
if(left == null) return right == null;
if(right == null)return left == null;
return left.val == right.val &&isMirror(left.left, right.right)&&isMirror(left.right, right.left);
}