package com.cb.java.algorithms.jianzhioffer.tree;
/**
* 判断两个二叉树是否相同
*
* @author 36184
*
*/
public class SameTree {
public boolean isSameTree(TreeNode first, TreeNode second) {
// 如果两颗树都为空则相同
if (first == null && second == null) {
return true;
}
// 如果其中一棵树为空,则不同
else if (first == null || second == null) {
return false;
}
// 如果两颗谁都不为空,则判断左右子树是否相同
if (first != null && second != null) {
if (first.data != second.data)
return false;
else
return isSameTree(first.left, second.left) && isSameTree(first.right, second.right);
}
return false;
}
}
class TreeNode {
int data; // 数据域
TreeNode left;// 左子节点
TreeNode right; // 右子节点
public TreeNode(int data) {
this.data = data;
}
}
判断两棵二叉树是否相同之java实现
最新推荐文章于 2023-10-29 18:01:35 发布