剑指 Offer 28. 对称的二叉树

package leetcode;

public class offer_28 {
    public boolean isSymmetric(TreeNode root) {
        if(root==null) {
            return true;
        }
        return compare(root.left, root.right);
    }
    
    
    public boolean compare(TreeNode root1,TreeNode root2) {
        //左右节点递归至最底层依旧相等,则为true
        if(root1==null&&root2==null) {
            return true;
        }
        
        //左右节点有一个为空则为false
        if(root1==null||root2==null) {
            return false;
        }
        
        //左右节点值不相等则为false
        if(root1.val!=root2.val) {
            return false;
        }
        //左节点的左节点和右节点的右节点,左节点的又节点和右节点的左节点需要相等
        return compare(root1.left, root2.right)&&compare(root1.right,root2.left);
    }
}

 

posted on 2022-03-08 11:42  一仟零一夜丶  阅读(22)  评论(0)    收藏  举报