给你一个二叉树的根节点 root , 检查它是否轴对称。


java
class Solution {
public boolean isSymmetric(TreeNode root) {
return check(root.left, root.right);
}
private boolean check(TreeNode left, TreeNode right){
// 两个子节点都为空,则表示相等
if(left == null && right == null){
return true;
}
// 一个节点为空,一个节点不为空,则表示不相等
if(left == null && right != null){
return false;
}
// 一个节点为空,一个节点不为空,则表示不相等
if(left != null && right == null){
return false;
}
// 判断当前两个节点的值是否相等,相等则继续往下判断,不相等则介绍
if(left.val != right.val){
return false;
}
boolean leftResult = check(left.right, right.left);
boolean rightResult = check(left.left, right.right);
return leftResult && rightResult;
}
}