1. 题目描述
给出两个二叉树,请写出一个判断两个二叉树是否相等的函数。
判断两个二叉树相等的条件是:两个二叉树的结构相同,并且相同的节点上具有相同的值。
2. 题目分析
1. 这个题目最简单的方法就是用递归来做
if(p == null && q == null){ return true; }else if(p == null || q == null){ return false; }else if(p.val != q.val){ return false; }
2. 第二个做法,也就是如果我们没有想起来这个递归的话,直接用遍历一遍树,然后依次比较,这里如果是null的话,也要放进去
3. 题目代码
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; }else if(p == null || q == null){ return false; }else if(p.val != q.val){ return false; } return isSameTree(p.left,q.left) && isSameTree(p.right,q.right); } }