给你一个二叉树的根节点 root
, 检查它是否轴对称。
public boolean isSymmetric(TreeNode root) {
if(root==null) return true;
boolean res=compare(root.left,root.right);
return res;
}
public boolean compare(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;
//比较外侧
boolean out=compare(left.left,right.right);
//比较内侧
boolean in=compare(left.right,right.left);
boolean res= out&&in ;
return res;
}