【二叉树】 Same-tree

☞梦想进大厂的一只程序猿☜

☞期望毕业前力扣刷够400题☜

☞正在复习数据结构和算法☜

☞博客地址:https://www.huangliangshuai.com/

 

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);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40915439/article/details/107799505