判断两个树是否互相镜像

// 3. 判断两个树是否互相镜像  
    public static boolean isMirrorRec(TreeNode r1, TreeNode r2){  
        // 如果两个树都是空树,则返回true  
        if(r1==null && r2==null){  
            return true;  
        }  
           
        // 如果有一棵树是空树,另一颗不是,则返回false  
        if(r1==null || r2==null){  
            return false;  
        }  
           
        // 如果两个树都非空树,则先比较根节点  
        if(r1.val != r2.val){  
            return false;  
        }  
           
        // 递归比较r1的左子树的镜像是不是r2右子树 和   
        // r1的右子树的镜像是不是r2左子树  
        return isMirrorRec(r1.left, r2.right) && isMirrorRec(r1.right, r2.left);  
    }  

 

posted @ 2015-05-28 19:44  无天666  阅读(344)  评论(0编辑  收藏  举报