如何判断两颗二叉树是否完全相同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版本的主要内容,如果未能解决你的问题,请参考以下文章