/**
* 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
*
* 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
*/
/**
*
* @param p 根节点p
* @param q 根节点q
* @return
* 使用深度优先的思路
*/
public boolean isSameTree(TreeNode p, TreeNode q) {
//如果两棵树都为空,则返回true
if (p == null && q == null){
return true;
//否则两棵树结构不相同,返回假
}else if (p == null || q == null){
return false;
//判断结构形同后,再判断值是否相等
}else if (p.val != q.val){
return false;
}else {
//递归判断左子树和右子树
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}
原文:https://www.cnblogs.com/mx-info/p/15313754.html