请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
剑指 Offer 28. 对称的二叉树 - 力扣(LeetCode) (leetcode-cn.com)
//递归判断处于对称位置的两棵子树结构是否对称,对称需要满足俩根节点值相等,一颗树的左子树与另一棵树的右子树对称
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null){
return true;
}
return isTwoTreesSym(root.left, root.right);
}
public boolean isTwoTreesSym(TreeNode root1, TreeNode root2){
if((root1 == null && root2 != null) || (root1 != null && root2 == null)){
return false;
}
if(root1 == null && root2 == null){
return true;
}
if(root1.val == root2.val){
return isTwoTreesSym(root1.left, root2.right) && isTwoTreesSym(root1.right, root2.left);
}else{
return false;
}
}
}