当前位置: 首页 > news >正文

从零学算法(非官方题库)

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)
B是A的子结构, 即 A中有出现和B相同的结构和节点值。
例如:

给定的树 A:3/ \4   5/ \1   2
给定的树 B:4 /
1

返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。
示例 1:
输入:A = [1,2,3], B = [3,1]
输出:false
示例 2:
输入:A = [3,4,5,1,2], B = [4,1]
输出:true

  • 首先这里不确定的就是,如果结果为 true,那么 A 中哪个节点为 B 的头结点。既然不确定,那么就遍历树 A,然后判断每个节点是否就是 B 的头结点,或者说以 A 此时节点为头结点是否包含 B。
  • 判断 B 是否为给定头节点的树的子树,那么只需要递归判断每个节点即可。当 B 结点为 null 说明比较完了都没啥问题,那自然返回 true,而如果 A 都被比较完了 B 还有剩下的节点还没判断,那肯定返回 false,或者 A B 此时的结点的值不同,那也返回 false,否则继续比较左右节点。
  •   // 递归遍历树 Apublic boolean isSubStructure(TreeNode A, TreeNode B) {return (A!=null && B!=null) && (dfs(A,B) || isSubStructure(A.left,B) || isSubStructure(A.right,B));}public boolean dfs(TreeNode A,TreeNode B){if(B == null)return true;if(A == null || A.val != B.val)return false;return dfs(A.left,B.left) && dfs(A.right,B.right);}
    

相关文章:

从零学算法(非官方题库)

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A:3/ \4 5/ \1 2给定的树 B:4 / 1返回 true,因为 B 与 A 的一个子树拥有相…...

Java # JVM内存管理

一、运行时数据区域 程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池、直接内存 二、HotSpot虚拟机对象 对象创建: 引用检查类加载检查分配内存空间:指针碰撞、空闲列表分配空间初始化对象信息设置(对象头内&#xff0…...

大疆第二批笔试复盘

大疆笔试复盘(8-14) 笔试时候的状态和下来复盘的感觉完全不一样,笔试时脑子是懵的。 (1)输出无重复三位数 题目描述 从 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } \left \{ 1,2,3,4,5,6,7,8,9 \right \...

【Linux】磁盘或内存 占用比较高要怎么排

当 Linux 磁盘空间满了时 请注意,在进行任何删除操作之前,请确保你知道哪些文件可以安全删除,并备份重要文件,以免意外丢失数据。当 Linux 磁盘空间满了时,可以按照以下步骤进行排查: 检查磁盘使用情况&…...

解决xss转义导致转码的问题

一、xss简介 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。跨站脚本攻击&#xff…...

numba 入门示例

一维向量求和: C A B 在有nv 近几年gpu的ubuntu 机器上, 环境预备: conda create -name numba_cuda_python3.10 python3.10 conda activate numba_cuda_python3.10conda install numba conda install cudatoolkit conda install -c nvi…...

BUUCTF 还原大师 1

题目描述: 我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母,为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全,E903???4D…...

自定义hook之首页数据请求动作封装 hooks

本例子实现了自定义hook之首页数据请求动作封装 hooks&#xff0c;具体代码如下 export type OrganData {dis: Array<{ disease: string; id: number }>;is_delete: number;name: string;organ_id: number;parent_id: number;sort: number; }; export type SwiperData …...

2023上半年京东手机行业品牌销售排行榜(京东数据平台)

后疫情时代&#xff0c;不少行业都迎来消费复苏&#xff0c;我国智能手机市场在今年上半年也实现温和的复苏&#xff0c;手机市场的出货量回暖。 根据鲸参谋平台的数据显示&#xff0c;2023年上半年&#xff0c;京东平台上手机的销量为2830万&#xff0c;环比增长约4%&#xf…...

lodash之cloneDeep()源码阅读笔记

lodash之cloneDeep()源码阅读笔记 基本上都在写业务代码&#xff0c;没有机会写库&#xff0c;还是想了解一下lodash的库源码是怎么样的&#xff0c;平时用的最多的就是cloneDeep()方法了&#xff0c;终于有空详细看看其中的源码。 本文基于lodash5.0.0版本的源码进行阅读。 /…...

算法模版,今天开始背

二分查找算法 int left_bound(int[] nums, int target) {int left 0, right nums.length - 1;// 搜索区间为 [left, right]while (left < right) {int mid left (right - left) / 2;if (nums[mid] < target) {// 搜索区间变为 [mid1, right]left mid 1;} else if …...

新的 Python URL 解析漏洞可能导致命令执行攻击

Python URL 解析函数中的一个高严重性安全漏洞已被披露&#xff0c;该漏洞可绕过 blocklist 实现的域或协议过滤方法&#xff0c;导致任意文件读取和命令执行。 CERT 协调中心&#xff08;CERT/CC&#xff09;在周五的一份公告中说&#xff1a;当整个 URL 都以空白字符开头时&…...

react项目做的h5页面加载缓慢优化(3s优化到0.6s)

打包到生产环境时去掉SOURCEMAP 禁用生成 Source Map 是一种权衡&#xff0c;可以根据项目的实际需求和优化目标来决定是否禁用。如果您对调试需求不是特别强烈&#xff0c;可以考虑在生产构建中禁用 Source Map 以获取更好的性能。但如果需要保留调试能力&#xff0c;可以在生…...

如何修复损坏的DOC和DOCX格式Word文件?

我们日常办公中&#xff0c;经常用到Word文档。但是有时会遇到word文件损坏、无法打开的情况。这时该怎么办&#xff1f;接着往下看&#xff0c;小编在这里就给大家带来最简单的Word文件修复方法&#xff01; 很多时候DOC和DOCX Word文件会无缘无故的损坏无法打开&#xff0c;一…...

UI设计师个人工作感悟5篇

UI设计师个人工作感悟一 工作一年了&#xff0c;结合我自身谈谈UI设计的重要性。现在主流的论坛建站程序有两种 Phpwind 和Discuz(Phpwind被阿里巴巴收购 Discuz被腾讯收购这两个论坛程序都是开源免费的)&#xff0c;利用这两种程序我都分别建立过论坛&#xff0c;我第一次用的…...

Java堆、栈、内存的知识

在JAVA中&#xff0c;有六个不同的地方可以存储数据&#xff1a; 1.寄存器&#xff1a;最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈&#xff1a;存放基本类型的变量数据和对象的引用&#xff0c;但对象本身不存放在栈中&#xff0c;而是存放在堆&…...

tp6 RabbitMQ

1、composer 安装 AMQP 扩展 composer require php-amqplib/php-amqplib 2、RabbitMQ 配置 在 config 目录下创建 rabbitmq.php 文件 <?php return [host>,port>5672,user>,password>,vhost>,exchange_name > ,queue_name > ,route_key > ,cons…...

java Spring Boot yml多环境拆分文件管理优化

上文 java Spring Boot yml多环境配置 我们讲了多环境开发 但这种东西都放在一起 还是非常容易暴露信息的 并且对维护来讲 也不是非常的友好 这里 我们在resources下创建三个文件 分别叫 application-pro.yml application-dev.yml application-test.yml 我们直接将三个环境 转…...

【设计模式——学习笔记】23种设计模式——状态模式State(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍登场角色应用场景 案例实现案例一类图实现 案例二&#xff1a;借贷平台源码剖析传统方式实现分析状态修改流程类图实现 案例三&#xff1a;金库警报系统系统的运行逻辑伪代码传统实现方式使用状态模式 类图实现分析问题问题一问题二 总结文章说明…...

【LeetCode每日一题】——41.缺失的第一个正数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 困难 三【题目编号】 41.缺失的第一个正数 四【题目描述】 给你一个…...

2026年知网AIGC检测4.0升级后怎么降AI?这个方法测了10次全过

知网AIGC检测4.0升级之后&#xff0c;有一段时间原来用的降AI方法突然不好用了——处理完以为能过&#xff0c;知网一检测还是20%多。后来摸索了一段时间&#xff0c;找到了稳定有效的方法&#xff0c;连续测了10次&#xff0c;全部通过。 方法核心&#xff1a;用支持4.0版本验…...

6款AI论文改写工具,智能降重与语言润色,有效减少重复率。

开头总结工具对比&#xff08;技能4&#xff09; &#xfffd;&#xfffd; 为帮助学生们快速选出最适合的AI论文工具&#xff0c;我从处理速度、降重效果和核心优势三个维度&#xff0c;对比了6款热门网站&#xff0c;数据基于实际使用案例&#xff1a; 工具名称 处理速度 降…...

c++ 享元模式实现 c++如何运用共享技术有效支持大量细粒度对象

绝大多数情况下不需要手写享元类——字符串字面量、string_view、shared_ptr、对象池等更轻量直接&#xff1b;仅当对象满足“内部状态稳定外部状态频繁变化创建开销大”三条件时才值得考虑&#xff0c;且应优先用shared_ptr显式管理共享引用。享元模式在 C 里到底该不该手写 f…...

CSMS详细学习,CIA网络安全接口协议和CSMS的关系

CSMS详细学习&#xff0c;CIA网络安全接口协议和CSMS的关系 一、CSMS的定义与核心目标 CSMS&#xff08;Cybersecurity Management System&#xff09; 是由 UN R155法规 强制要求建立的一套组织级网络安全管理体系。其本质是通过制度化的流程、策略和资源分配&#xff0c;确保…...

HFSS 2023 R1实战:手把手教你从ADS优化到Wilkinson功分器建模(附完整模型文件)

HFSS 2023 R1实战&#xff1a;从ADS优化到Wilkinson功分器三维建模全流程解析 在射频工程领域&#xff0c;将电路仿真结果准确转化为三维电磁场模型是一个关键但常被忽视的环节。许多工程师在ADS中完成了理想的参数优化后&#xff0c;却对如何在HFSS中实现同等性能感到困惑。本…...

NAS部署New-API本地Ollama秒变公网OpenAI接口

用N1飞牛NAS部署New-API&#xff1a;本地Ollama秒变公网OpenAI接口 核心目标&#xff1a;将本地Ollama模型和各类云端API整合为一个统一的、支持公网访问的OpenAI格式接口。 一、核心解决痛点与方案 1.1 常见痛点 手里既有本地Ollama模型&#xff0c;又有零散的云端API&#xf…...

人类与AI的劳资谈判:首个数字员工工会诞生实录

代码中的裂隙2026年春季&#xff0c;硅谷某家头部科技公司的软件测试部门&#xff0c;弥漫着一种不同于代码错误的焦虑。曾经繁忙的测试大厅&#xff0c;如今只剩下零星几个工程师&#xff0c;他们的屏幕旁&#xff0c;是日夜不停歇运行的AI测试智能体日志流。公司内部系统显示…...

暗黑破坏神II终极存档编辑指南:Diablo Edit2让你的角色随心所欲

暗黑破坏神II终极存档编辑指南&#xff1a;Diablo Edit2让你的角色随心所欲 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 还在为暗黑破坏神II中加点错误而烦恼吗&#xff1f;还在为刷不到心仪装…...

虚幻引擎6.5 C++多线程渲染管线深度解密,揭秘Nanite+Lumen底层Hook点与自定义RenderPass安全注入时机

第一章&#xff1a;虚幻引擎6.5多线程渲染管线架构总览虚幻引擎6.5标志着渲染架构的重大演进&#xff0c;其核心是完全重写的多线程渲染管线&#xff08;Multi-Threaded Rendering Pipeline&#xff09;&#xff0c;旨在最大化现代CPU多核并行能力与GPU异步执行潜力。该管线采用…...

Windows 11 + Python 3.10 下,用智谱GLM-4-Flash API零成本跑通DB-GPT(保姆级避坑指南)

Windows 11 Python 3.10 下零成本跑通DB-GPT全流程指南 最近发现不少朋友对DB-GPT这个开源项目很感兴趣&#xff0c;但被复杂的部署流程和硬件要求劝退。作为过来人&#xff0c;我完全理解这种困扰——去年第一次尝试时&#xff0c;光是处理依赖冲突就花了整整两天。不过现在…...