算法通关村第八关-青铜挑战二叉树的经典题目

大家好我是苏麟 , 今天来说二叉树的经典题目

二叉树的双指针

所谓的双指针就是定义了两个变量,在二叉树中有时候也需要至少定义两个变量才能解决问题,这两个指针可能针对一棵树,也可能针对两棵树,我们姑且也称之为“双指针”吧。这些问题一般是与对称、反转和合并等类型相关,我们接下来就看一下相关高频问题。

判断两棵树是否相同

描述 :

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

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

题目 :

LeetCode 100.相同的树 :

100. 相同的树

分析 :

这个貌似就是两个二叉树同时进行前序遍历,先判断根节点是否相同,如果相同再分别判断左右子节点是否相同,判断的过程中只要有一个不相同就返回 false,如果全部相同才会返回true。

解析 :

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public boolean isSameTree(TreeNode p, 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/132378.html

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

相关文章

AI通义灵码能够帮你写通达信选股公式么?

答案是否定的 先不说语法错误,注释错误,就说AI压根不理解炸板和涨停板; 算了,股票交易AI千万别来掺和,会死的很惨的。

Linux C/C++ 入侵检测系统(IDS绕过技巧)

入侵检测系统(IDS)是一种网络安全设备,其主要功能是对网络传输进行即时监视,并在入侵检测系统(IDS)是一种网络安全设备,其主要功能是对网络传输进行即时监视,并在发现可疑传输时发出…

python升级pip的时候一直失败

如图,一直提示使用 python.exe -m pip install --upgrade pip 进行升级pip,但是执行这句命令又不成功.然后综合了几篇文章以后使用了下面的命令可以升级了 python -m pip install --upgrade pip --user -i https://mirrors.aliyun.com/pypi/simple/ 主要是在推荐的语句上使用…

赶紧收藏!阿里内部使用的127页k8s实战手册,不能再详细了!

2022 年 12 月 8 号Kubernetes 发布了1.26新版本,此版本中有两个突出的新功能,它们有可能改变用户与 Kubernetes 交互的方式,此外,其他功能将使集群管理员的工作更轻松。 说起来,Kubernetes从诞生初期就广泛受到业界的…

金字塔原理小节

目录 第1章 为什么要用金字塔结构 一、归类分组,将思想组织成金字塔 二、奇妙的数字“7” 三、归类分组搭建金字塔 四、找出逻辑关系,抽象概括 五、自上而下表达,结论先行 第1章 为什么要用金字塔结构 如果受众希望通过阅读你的文章、听…

玩了个锤子游戏小程序搭建流程:探索深度与逻辑的结合

随着移动互联网的普及,小程序已经成为了越来越多用户的选择。在这个背景下,玩了个锤子游戏小程序应运而生,它为用户提供了一个全新的游戏体验。那么,如何搭建这样一个小程序呢?本文将为大家详细介绍玩了个锤子游戏小程…

WPS数组

一、创建数组方法和数组的读取、修改、写入 数组是值的有序集合,其中的值叫作元素。每个元素有一个数值表示的位置,叫作索引,数组中的不同元素可以是不同数据类型。 function demo(){var arr1[99,"人","abc",[3,4,5]];…

【tgowt】更新thirdparty

更新完毕后是这样的 之前有过构建但是不能用在owt-p2p项目中,会有崩溃? 【tgowt】cmake转ninja vs构建现在好像都更新到108了 submodule比较麻烦 只修改这里的还不行:一旦git submodule init 后,再改这里的似乎晚了?如果能成功clone就有生成 还必须要改这里的 折腾好几次才…

由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题

电脑出现d3dx9_43.dll缺失的问题,通常是由于DirectX组件未安装或损坏导致的。为了解决这个问题,我为您提供了以下四个解决方法: d3dx9_43.dll解决方法1. 使用dll修复程序修复 首先,使用系统文件程序dll进行修复操作非常简单&…

Python进行多维数据分析

多维数据分析是对数据的信息分析,它考虑了许多关系。让我们来介绍一些使用Python分析多维/多变量数据的基本技术。 从这里找到用于说明的数据的链接。(https://archive.ics.uci.edu/dataset/111/zoo) 以下代码用于从zoo_data. csv读取2D表格…

Spring Cloud学习(三)【Nacos注册中心】

文章目录 认识 NacosNacos 安装使用 Nacos 完成服务注册Nacos 服务分级存储模型集群负载均衡策略 NacosRule根据权重负载均衡Nacos 环境隔离(命名空间)Nacos 和 Eureka 的区别 认识 Nacos Nacos 是阿里巴巴的产品,现在是 SpringCloud 中的一…

高频SQL50题(基础版)-3

文章目录 主要内容一.SQL练习题1.1174-即时食物配送代码如下(示例): 2.550-游戏玩法分析代码如下(示例): 3.2356-每位教师所教授的科目种类的数量代码如下(示例): 4.1141-查询近30天活跃用户数代码如下&…

@CreateCache:深度解析其功能与优势

1. CreateCache前言 在现代Web应用程序开发中,缓存是提高性能和响应速度的重要手段之一。CreateCache注解是JetCache框架中用于创建缓存的注解。本文将介绍CreateCache注解以及它在缓存管理中的作用。 2. CreateCache使用示例 以下是使用CreateCache注解的一个简…

计算机组成原理之处理器(单周期)

引言 处理器的实现方式决定了时钟周期长度和CPI。实现方式有单周期与流水线,本篇谈谈单周期处理器。 目前CPU的频率一般是3GHZ/4GHZ,但是频率是有极限值的,受cycletime影响 基本的RISC-V实现 存储指令:ld,sd算术逻辑指令 &…

python3GUI--QQ音乐By:PyQt5(附下载地址)

文章目录 一.前言二.展示0.播放页1.主界面1.精选2.有声电台3.排行4.歌手5.歌单 2.推荐3.视频1.视频2.分类3.视频分类 4.雷达5.我喜欢1.歌曲2.歌手 6.本地&下载7.最近播放8.歌单1.一般歌单2.自建歌单3.排行榜 9.其他1.搜索词推荐2.搜索结果 三&#x…

第四节(2):修改WORD中表格数据的方案

《VBA信息获取与处理》教程(10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网…

容器网络-Underlay和Overlay

一、主机网络 前面讲了容器内部网络,但是容器最终是要部署在主机上,跨主机间的网络访问又是怎么样的,跨主机网络主要有两种方案。 二、 Underlay 使用现有底层网络,为每一个容器配置可路由的网络IP。也就是说容器网络和主机网络…

Spring Boot(二)

1、运行维护 1.1、打包程序 SpringBoot程序是基于Maven创建的,在Maven中提供有打包的指令,叫做package。本操作可以在Idea环境下执行。 mvn package 打包后会产生一个与工程名类似的jar文件,其名称是由模块名版本号.jar组成的。 1.2、程序…

Docker容器网络

一、Docker网络 Docker网络有下面4种配置类型,用的比较多的是Bridge: Null(–netNone) 把容器放入独立的网络空间但不做任何网络配置;用户需要通过运行 docker network 命令来完成网络配置。 Host 使用主机网络名空间,复用主机网…