如何判断两颗二叉树是否完全相同Java版本

Posted 高、远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断两颗二叉树是否完全相同Java版本相关的知识,希望对你有一定的参考价值。

思想很简单,就是类似前序遍历的思想,比较当前节点的值,相等就遍历左子树,左子树如果都相等就遍历右子树,如果都遍历完了就返回true

public static boolean isAlike(Node node1, Node node2) {
        if (node1 == null && node2 == null) {//如果比到此时这两个节点都为空,证明到此时是都相同的
            return true;
        } else if (node1 != null && node2 != null) {
            //比较这个值是否相等
            if (node1.val != node2.val)
                return false;
            //左边
            if (!isAlike(node1.left, node2.left)) {
                return false;
            }
            //右边
            if (!isAlike(node1.right, node2.right)) {
                return false;
            }
            return true;
        } else {//如果是一个为空一个不为空肯定两棵二叉树就是不同的
            return false;
        }
    }

以上是关于如何判断两颗二叉树是否完全相同Java版本的主要内容,如果未能解决你的问题,请参考以下文章

100.Same Tree

已知一颗二叉链表表示二叉树T ,编写函数,判断T是不是为完全二叉树。先

Java集合与数据结构 二叉树

Java集合与数据结构 二叉树

Java集合与数据结构 二叉树

[leetcode] 100. 相同的树