leetcode做题笔记100. 相同的树

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

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

思路一:

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算法将两个二叉树值全部判断得到答案

相关推荐
邪修king33 分钟前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
2301_777998341 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
Zenova EdgeOS8 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军8 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen9 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
文丑颜不良啊9 小时前
LeetCode201~225题目解析
java·leetcode
忆挽篱笙歌10 小时前
进程控制管理
linux·运维·服务器
Escalating_xu10 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n11 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊12 小时前
Reactor反应堆模式
linux