问题:
给你一个二叉树的根节点 root
, 检查它是否轴对称。
示例 1:
输入:root = [1,2,2,3,4,4,3]
输出:true
示例 2:
输入:root = [1,2,2,null,3,null,3]
输出:false
代码:
public boolean isSymmetric(TreeNode root) {
//只需要要判断左边和右边是否对称
return test(root.left, root.right);
}
//定义方法
public boolean test(TreeNode left, TreeNode right) {
//先假设如果都不为null,判断是否相等,不等返回false
if (left != null && right != null) {
if (left.val != right.val) {
return false;
}
//如果其中某个为null,直接返回false
} else if (left != null || right != null) {
return false;
//否则都是null,直接返回true
}else {
return true;
}
//返回对比左右两边的结果
return test(left.left, right.right) && test(left.right, right.left);
}