判断两个树是否互相镜像

简介:
复制代码
// 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);  
    }  
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4536785.html,如需转载请自行联系原作者

相关文章
|
3月前
|
JavaScript
js 解析和操作树 —— 获取树的深度、提取并统计树的所有的节点和叶子节点、添加节点、修改节点、删除节点
js 解析和操作树 —— 获取树的深度、提取并统计树的所有的节点和叶子节点、添加节点、修改节点、删除节点
85 0
|
4月前
|
存储 数据库 索引
B树和B+树的插入、删除图文详解
B树和B+树的插入、删除图文详解
35 0
|
12月前
|
算法 DataX C语言
【数据结构】二叉树的节点数,叶子数,第K层节点数,高度,查找x节点,判断是否为完全二叉树等方法【下】
六、二叉树叶子节点个数 1.代码: 2.测试结果: 七、二叉树第k层节点个数 1.代码: 2.测试结果: 八、二叉树查找值为x的节点 1.代码: 2.测试结果: 九、判断二叉树是否是完全二叉树 1.代码: 2.测试结果: 十、补充:队列代码 Queue.h Queue.c
|
12月前
|
算法 C语言
【数据结构】二叉树的节点数,叶子数,第K层节点数,高度,查找x节点,判断是否为完全二叉树等方法【上】
文章目录 一、二叉数的结构体 二、构建二叉树,供后续测试使用 三、二叉树销毁 四、构建节点 五、二叉树的高度: 1.代码: 2.测试结果: 二叉树节点个数 1.代码: 2.测试结果:
|
5月前
leetcode-6134:找到离给定两个节点最近的节点
leetcode-6134:找到离给定两个节点最近的节点
40 0
算法训练Day22|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
算法训练Day22|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
算法训练Day18|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
算法训练Day18|● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
|
前端开发
前端学习案例2-二叉搜索树删除两个节点的情况2
前端学习案例2-二叉搜索树删除两个节点的情况2
61 0
前端学习案例2-二叉搜索树删除两个节点的情况2
|
前端开发
前端学习案例1-二叉搜索树删除两个节点的情况1
前端学习案例1-二叉搜索树删除两个节点的情况1
68 0
前端学习案例1-二叉搜索树删除两个节点的情况1