给你一个二叉树的根节点 root
, 检查它是否轴对称。
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) return true;
return check(root.left,root.right);
}
boolean check(TreeNode left,TreeNode right){
//思路:使用两个指针分别向左向右遍历,比较节点是否相同
//共有三种情况:
// ①左右都遍历到空返回true
// ②左右一个为空一个不是空 返回false,
// ③val不同返回false
if (left == null && right == null) return true;
if (left == null || right == null) return false;
if (left.val != right.val) return false;
//递归遍历
return check(left.left,right.right) && check(left.right,right.left);
}
}