给出两个二叉树,请写出一个判断两个二叉树是否相等的函数。
判断两个二叉树相等的条件是:两个二叉树的结构相同,并且相同的节点上具有相同的值。
思路:
1.如果两个都是空树,返回真。
2.如果有一个不是空树,返回假。
3.如果对应节点的值不相等,返回假。
4.递归子节点,判断左右子节点是否对称。(直接 return 结果)
//代码:
public class Solution {
/**
*
* @param p TreeNode类
* @param q TreeNode类
* @return bool布尔型
*/
public boolean isSameTree (TreeNode p, TreeNode q) {
// write code here
if (p==null && q==null)
return true;
if(p==null || q == null)
return false;
if(p.val!= q.val)
return false;
return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
}
}