剑指offer题解合集——Week3day3

文章目录

  • 剑指offerWeek3
    • 周三:树的子结构
      • AC代码
      • 思路:

剑指offerWeek3

周三:树的子结构

题目链接:树的子结构

输入两棵二叉树 A,B,判断 B 是不是 A的子结构。我们规定空树不是任何树的子结构。数据范围
每棵树的节点数量 [0,1000]样例
树 A:8/ \8   7/ \9   2/ \4   7
树 B:8/ \9   2
返回 true,因为 B是 A的子结构。

AC代码

递归版本

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:bool hasSubtree(TreeNode* r1, TreeNode* r2) {if (!r1 || !r2) return false;if (isSame(r1, r2)) return true;return hasSubtree(r1->left, r2) || hasSubtree(r1->right, r2);}bool isSame(auto r1, auto r2){if (!r2) return true;if (!r1 || r1->val != r2->val) return false;return isSame(r1->left, r2->left) && isSame(r1->right, r2->right);}
};

思路:

整体思路

简单模拟
创建一个虚拟头节点
当两个链表都存在之时,哪个链表的值小,就放到新链表里

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】深入了解人工智能的核心算法与应用实践

人工智能 学习AI要看的第一本书人工智能应当以人为本人工智能(第3版)通晓六点,明白人工智能是怎么回事基本概念和历史基础知识基于知识的系统高级专题现在和未来安全和编程 人工智能已经是基础学科 学习AI要看的第一本书 人工智能知识对于当…

Unix操作系统的前世今生

Unix是一种多用户、多任务操作系统,最初由AT&T贝尔实验室的肯汤普逊(Ken Thompson)和丹尼斯里奇(Dennis Ritchie)等人开发于上世纪70年代初。它被设计成一种通用的操作系统,支持跨多种硬件平台&#xf…

C++入门(详细解读,建议收藏)

🚩C是什么?🚩⛲🌟⚡🥦💬 C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危…

ssm基于Java Web的怀旧唱片售卖系统论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装怀旧唱片售卖系统软件来发挥其高效地信息处理的作用&#x…

计算机网络——网络中要解决的问题

1. 从网络管理的角度看 1.1 配置管理 追踪所有部署的硬件和软件资源,包括设备配置和软件版本。 1.2 故障管理​​​​​ 监控设备的运行状态,以确保所有组件都正常工作,以及快速响应和修复任何故障。 1.3 计费管理 监控资源消耗并进行计费…

使用FinalShell连接Linux系统

1.为什么要使用FinalShell连接Linux系统? 如果直接使用VMware上的Linux系统会有很多不方便: 内容的复制粘贴跨越VMware不方便文件的上传、下载跨越VMware不方便 也就是和Linux系统的各类交互,跨越VMware不方便 2.FinalShell下载 FinalSh…

【shell】bash script基础入门及例子(附代码)持续更新

A Bash script is a plain text file which contains a series of commands. Anything you can run normally on the command line can be put into a script ————https://ryanstutorials.net/bash-scripting-tutorial/bash-script.php Reference 教程:一篇教会…

RH850P1X芯片学习笔记-A/D Converter (ADCF)

文章目录 Features of RH850/P1x-C ADCFNumber of UnitsRegister Base AddressClock SupplyInterrupts and DMAHardware ResetExternal Input/Output SignalsVirtual Channel OverviewFunctional OverviewBlock DiagramPhysical Channels, Virtual Channels and Scan Groups Re…

年终总结——平凡又不平凡的2023

前言 总结不知道该如何写起,也不知该如何建立这一篇文章的大致框架,只知道我的2023大概也就分成两大块罢了。说起2023一整年,只能用平凡而又不平凡来形容,平凡在我依旧没有什么太突出的技术点,专业水平也一直处于龟速…

flutter项目初始化

flutter项目初始化 0、flutter 官方插件网址1、flutter项目环境配置2、flutter数据本地存储(shared_preferences)3、GetX 中的数据响应式配合本地存储使用4、Dio 封装使用详解5、EasyLoading的使用6、缓存 keep-alive使用(除了Tabbar,其它的页面、组件都可以使用)7、缓存 …

RFID传感器|识读器CNS-RFID-01/1S在AGV小车|搬运机器人领域的安装与配置方法

AGV 在运行时候需要根据预设地标点来执行指令,在需要 AGV 在路径线上位置执行某个指令时候,则需要在这个点设置 命令地标点,AGV 通过读取不同地标点编号信息,来执行规定的指令。读取地标点设备为寻址传感器,目前&#…

【C语言:可变参数列表】

文章目录 1.什么是可变参数列表2.可变参数列表的分析与使用2.1使用2.2分析原理2.3分析原码 1.什么是可变参数列表 对于一般的函数而言,参数列表都是固定的,而且各个参数之间用逗号进行分开。这种函数在调用的时候,必须严格按照参数列表中参数…

【Vue3+React18+TS4】1-1 : 课程介绍与学习指南

本书目录:点击进入 一、为什么做这样一门课程? 二、本门课的亮点有哪些? 2.1、轻松驾驭 2.2、体系系统 2.3、高效快捷 2.4、融合贯通 三、课程内容包括哪些? 四、项目实战 《在线考勤系统》 五、课适合哪些同学? 一、为什么做这样一门课程? 近十年内前端…

mysql常见问题

批量导入SQL 数据库结构 数据时,如果数据是批量插入的话会报错:2006 - MySQL server has gone away。 解决办法:找到你的 mysql 目录下的 my.ini 配置文件,加入以下代码 max_allowed_packet500M wait_timeout288000 interactiv…

git使用(完整流程)

1. 新建仓库 1.右击 git bash 后 输入 git init (仓库为:当前目录) git init name (仓库为:name文件夹) git clone https://github.com/Winnie996/calculate.git //https2.工作区域 工作目录 3. 添加 提交 git add . //工作区添加至暂存区 git commit -m "注释内容&q…

电脑常见蓝屏代码及含义

小编经过一年多的桌面终端运维经验和网络资料收集整理,现将相关代码及其含义分析出来,供大家参考,不足之处请批评指正! 0X00000000 作业亮成 0X00000001 不正确的函数 0X00000002 系统找不到指定的档案 0X00000003 系统找不到…

Android14之Selinux解决neverallow报错(一百七十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Github数据库集群的升级部署思路

Github 花了一年多的时间,将他们的 1200 台 MySQL 集群从 v5.6 升级到了 v8.0,这里的难度非常之大,没做过大规模集群服务器运维的难以理解此中的难度、难以理解其中庞大的业务量,难以想象升级过程中的海量问题的解决等等。 Githu…

Kafka消息阻塞:拯救面试的八大终极解决方案!

大家好,我是小米,一个对技术充满热情的90后程序员。最近在准备社招面试的过程中,遇到了一个超级有挑战性的问题:“Kafka消息阻塞怎么解决?”今天,我就来和大家一起深入剖析这个问题,分享我在解决…

C#-特性

C# 程序中的类型、成员和其他实体都支持修饰符,这些修饰符控制它们的行为的某些方面。 例如,方法的可访问性是使用 public、protected、internal 和 private 修饰符来控制的。C# 使此功能一般化,以便能够将用户定义类型的声明信息附加到程序实体,并在运行时检索。 这种附加…