leetcode做题笔记100. 相同的树

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

思路一:

cpp 复制代码
bool isSameTree(struct TreeNode* p, struct TreeNode* q){
    if(p == NULL && q == NULL){
        return true;
    }
    if(p==NULL && q !=NULL){
        return false;
    }
    if(p != NULL && q==NULL){
        return false;
    }
    if(p->val == q->val){
       return isSameTree(p->left , q->left) && isSameTree(p->right , q->right);
    }
    else
       return false;    
}

分析:

首先判断两个二叉树是否为空,再判断有值的情况,利用递归,若两个值相等则同时向左右子树继续进行判断

总结:

本题考察二叉树判断,利用了bfs算法将两个二叉树值全部判断得到答案

相关推荐
快快网络-三七36 分钟前
第二篇:Linux 文件系统操作:从基础到进阶
linux·运维·服务器·centos·快快网络
Doris_LMS38 分钟前
Linux的访问权限(保姆级别)
linux·运维·服务器·面试
无望__wsk39 分钟前
ospf笔记
服务器·网络·笔记
玖剹1 小时前
Linux文件系统:从内核到缓冲区的奥秘
linux·c语言·c++·笔记·ubuntu
是阿建吖!1 小时前
【Linux | 网络】传输层(UDP和TCP)
linux·网络·udp·tcp
dessler1 小时前
RabbitMQ-镜像队列(Mirrored Queues)
linux·运维·rabbitmq
瑾曦1 小时前
Docker相关命令
linux
发抖吧小喵喵1 小时前
rpm包直接安装新系统缺少依赖问题处理
linux·运维·服务器
凤年徐1 小时前
【数据结构与算法】21.合并两个有序链表(LeetCode)
c语言·数据结构·c++·笔记·算法·链表
码农101号2 小时前
Linux中Docker Swarm介绍和使用
linux·spring cloud·docker