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

相关推荐
Dear~yxy12 分钟前
LVS企业级实战
linux·服务器·lvs
兮动人28 分钟前
Linux 安装 Claude Code 实战:Node.js、npm、GLM 配置一次跑通
linux·npm·node.js·cc·claude code
白白白小纯44 分钟前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
2301_777998341 小时前
Linux线程控制——从线程创建到线程分离(第三部分:线程等待 pthread_join)
linux·运维·服务器·c语言·c++
谜之锋2 小时前
Linux 源码编译安装 net-snmp-5.9.1 并配置使用 SNMPv3
linux·运维·服务器·snmpv3
一直在努力学习的菜鸟2 小时前
阿里云2G2核的服务器可以做什么?
linux·运维
疯狂打码的少年2 小时前
【面向对象】面向对象概述:从“按步骤做”到“找谁来做”
笔记
ShineWinsu2 小时前
对于Linux:自定义协议(基于TCP)实现网络计算器的解析
linux·网络·c++·网络协议·tcp/ip·面试·网络计算器
今夜有雨.2 小时前
C++JSON 解析器
c++·笔记·后端·学习·json
tedcloud1232 小时前
Orca 部署指南:开源 AI 推理服务的 Linux 部署实践
linux·运维·服务器·人工智能·开源·自动化·excel