二叉树OJ题之三

哈喽伙伴们,有一段时间没更新博客了,主要是这段时间要准备学校的期末考试,所以没有把部分时间分给博客,今天我们一起去接着看二叉树递归有关的OJ题,今天我们要学习的是 判断相同的树,力扣题目--100    ,直达链接 https://leetcode.cn/problems/same-tree/

我们先看这道题的题目要求,给我们两棵树的根节点p,q,让我们判断两棵树是否相同,无非就是判断两棵树相应的根节点是否相等,那我们就可以开始入手做题。首先我们要先判断两棵树同时为空的情况,那就返回true即

if(p==NULL&&q==NULL)//两棵树同时为空
    {
        return true;
    }

两棵树都为空的情况判断了,还有一棵树为空,一棵树不为空的情况呢?,还是一样的套路,即

 if(p==NULL||q==NULL)//只有一颗树为空
    {
        return false;
    }

为什么这么写大家明白吗?代码能进到这个if里面前提是两棵树不能同时为空了,所以我们用||就可以判断有一棵树为空的情况,如果如果p==NULL就不会判断后面q==NULL,如果p!=NULL,会进行判断q==NULL,只要是满足二者中的一种情况,那这两棵树就不会相等,就会返回false。

树为空的情况判断了,代码继续往下走就是不是空树,那就直接判断p和q的val是否相等,即

if(p->val!=q->val)//判断p和q的val
    {
        return false;
    }

如果p和q的val不相等的话,那这两棵树注定是不相同的,无需往下继续走,直接就可以返回false。

再往下走的话就证明p和q作为两棵树的根结点是相等的,我们可以递归判断两棵树的左子树和右子树,即

return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);//递归判断左右子树

代码到这里就写完了,我们运行提交

 完整代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
    if(p==NULL&&q==NULL)
    {
        return true;
    }
    if(p==NULL||q==NULL)
    {
        return false;
    }
    if(p->val!=q->val)
    {
        return false;
    }
    return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/223003.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年度亚太客户中心产业发展论坛——鸿联九五荣获亚太区卓越客服大赛客户运营管理类铂金大奖

11月27-28日, 2023年度亚太客户中心产业发展论坛暨亚太区卓越客服大赛在马来西亚吉隆坡举行。来自中国、澳大利亚、马来西亚、新加坡、中国香港、印度尼西亚和泰国等多个国家及地区的优秀企业代表齐聚吉隆坡。 论坛首日活动以“Experience Excellence, Meet the Cha…

Redis应用-缓存

目录 什么是缓存 使用redis作为缓存 缓存的更新策略 通用的淘汰策略 redis内置的淘汰策略 缓存预热 缓存穿透 缓存雪崩 缓存击穿 什么是缓存 缓存(cache)是计算机中一个经典的概念,在很多的场景中都会涉及到. 核心思路就是把一些常用的数据放到触手可及(访问速度更快…

javascript实现List列表数据结构

书籍推荐 有幸拜读《数据结构与算法Javascript描述》这本书,先强烈安利一波!非常感谢作者大大给我们前端领域带来这本书。 全书从javascript的角度出发,简单明了的分析了数据结构在javascript领域的实现过程与实际的应用案例,且…

VA03 凭证流 查看备忘

今天被问到了,为什么这个销售订单 只显示了3 EA 仔细看了一下,前面10 是行项目 看销售订单 最后发现,凭证流跟选择查看的行项目有关系 以前一直没有关注这个细节

QT-在ui界面中给QWidget增加Layout布局的两种方法

QT-在ui界面中给QWidget增加Layout布局的两种方法 方式一 在UI界面,用拖拽的方式加入Layout方式二 用notepad软件打开.ui文件,手动加入Layout代码 目标:去除右下角红标,给tab标签增加Layout属性。 方式一 在UI界面,用…

nodejs+vue+ElementUi小区社区公寓宿舍智能访客预约系统

该系统将采用B/S结构模式,前端部分主要使用html、css、JavaScript等技术,使用Vue和ElementUI框架搭建前端页面,后端部分将使用Nodejs来搭建服务器,并使用MySQL建立后台数据系统,通过axios完成前后端的交互,…

生殖感染对生育的影响有哪些?劲松中西医结合医院专家详细解读

生殖感染是指由细菌、病毒、支原体、衣原体等病原微生物引起的生殖道感染,包括前列腺炎、尿道炎、宫颈炎、盆腔炎等。生殖感染对生育的影响是多方面的,今天劲松中西医结合医院谭巍主任将详细介绍这些影响及相应的预防办法。 一、影响生育能力的因素 1.…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录(14)❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录(14)❀ 56.man指令 功能说明:查看Linux中的指令帮助。 (ps.man命…

软件工程之需求分析

一、对需求的基本认识 1.需求分析简介 (1)什么是需求 用户需求:由用户提出。原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。 产品需求:产品经理针对用户需求提出的解决方案。 (2)为什么要…

电力仪表在工厂车间设备电能管理系统的设计-安科瑞黄安南

摘 要:基于车间用电设备的电能管理系统架构思路及实施方法,从硬件和软件方面对此方法进行了阐述。对车间旧设备改造以及新的电能管理系统提供一种思路和便捷的方法。 关键词:电能管理系统;多功能电力仪表;PLC&#x…

菜鸟驿站寄快递真的能省钱吗?还不如去闪侠惠递快递折扣平台下单!

小伙伴们,你们知道我们平常去寄快递发快递的菜鸟驿站是怎么来的吗?今天小编就来带你一探究竟。 那么到菜鸟驿站寄快递真的能省钱吗?其实也不一定。在菜鸟驿站,工作人员称重之后,工作人员说多少就是多少,没…

测试岗外包干了3个月,技术退步明显。。。。。

先说一下自己的情况,本科生生,21年通过校招进入成都某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试…

微型5G网关如何满足智能巡检机器人应用

在规模庞大、设施复杂的炼化厂、钢铁厂、工业园区等大型、巨型区域,时刻需要对各类设施设备巡查监测,保障生产运行安全可控。传统的人工巡检存在着心态松懈、工作低效、工作强度高、工作环境恶劣等问题,仍然存在安全隐患。 而随着物联网、5G、…

UVM建造测试用例

(1)加入base_test 在一个实际应用的UVM验证平台中,my_env并不是树根,通常来说,树根是一个基于uvm_test派生的类。真正的测试用例都是基于base_test派生的一个类。 class base_test extends uvm_test;my_env e…

智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学生心理学算法4.实验参数设定5.算法结果…

工业级路由器在智能交通系统(ITS)中的创新应用

智能交通系统(ITS)作为一种先进的交通管理与控制系统,旨在提高交通运输系统的效率、安全性和便捷性。随着科技的不断发展,智能交通系统已经成为城市交通管理的重要组成部分。而工业级路由器作为一种可靠的网络通信设备&#xff0c…

Notes数据结合报表工具Tableau

大家好,才是真的好。 我希望你看过前面两篇内容《Domino REST API安装和运行》和《Domino REST API安装和运行》,更希望你能看过《Notes数据直接在Excel中统计!》,有了这些内容作为基础,今天的内容就显得特别简单。 …

海鹰数据虾皮:为Shopee卖家提供的完美数据分析工具

在如今的电子商务领域中,如何更好地了解市场动态、优化商品策略以提高运营效果成为了卖家们关注的重要问题。而海鹰数据(Haiying Data)作为一款专为Shopee平台设计的数据分析工具,为卖家们提供了市场趋势、商品分析、关键词优化、…

加密保卫战:上海迅软DSEU盘加密系统守护企业机密不漏一丝

企业在办公中经常会遇到这类情况:员工为了方便,随意使用U盘拷贝公司的机密资料。不幸的是,一旦U盘丢失或者被窃取,公司的机密资料就有可能外泄。这不仅会对公司的声誉造成损害,还会对公司的利益带来威胁,除…

检索字符串每个字符出现的次数!!!

1.创建一个html。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title></h…