二叉树OJ题目详解

news2024/11/16 23:48:42

根据二叉树创建字符串
采用前序遍历的方式,将二叉树转换成一个由括号和数字组成的字符串。
再访问每一个节点时,需要分情况讨论。
如果这个节点的左子树不为空,那么字符串应加上括号和左子树的内容,然后判断右子树是否为空,如果不为空,应该加上括号和右子树的内容。
如果这个节点的左子树为空,当右子树也为空时,那么什么都不要加。当右子树不为空时,在加上右子树的括号和内容时,为了和左子树区分,需要先加上一个括号表示左子树为空。
在这里插入图片描述

二叉树的层序遍历
使用一个队列,存放每一层的节点,在拿到队列中节点的值时,让节点的左右节点继续入队列,然后让该节点出队列。题目要求一层元素需要一个vector,如果想知道当前层对应的vector可以拿多少数据,可以在每层的循环开始就记录当前队列的size(每次进行新一层的遍历时,队列中所存的节点,即为当前层的节点)。

在这里插入图片描述
二叉树的层序遍历II
由下而上层序遍历,和上一题思路完全相同。在返回答案之前对数组进行reverse即可。
在这里插入图片描述

二叉树的最近公共祖先
首先按题目描述来看,题目所给的两个节点是一定有公共祖先的,不存在无解的情况。
从根节点开始走,找到两个的节点,分别记录从根节点到两个指定节点的路径。得到路径之后,问题就变成了找两个链表的第一个公共节点的问题了。
在这里插入图片描述

二叉搜索树与双向链表
当前节点的上一个节点好找,但是下一个节点不好找,处理当前节点对下一个节点的链接时,可以在访问下一个节点时进行。
在这里插入图片描述

从前序和后序遍历序列构造二叉树
前序的第一个值为根节点的值,在中序中找到这个值。这个值左边部分为二叉树的左子树部分的值,右边部分为二叉树的右子树部分的值。以此逻辑往后递归。

在这里插入图片描述

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

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

相关文章

VBA小模板,跨表统计的2种写法

目标 1 统计一个excel 文件里,多个sheet里的内容2 有的统计需求是,每个表只单表统计,只是进行批量操作3 有的需求是,多个表得某些行列累加等造出来得文件 2 实现方法1 (可能只适合VBAEXCEL,不太干净的写法…

一文带你了解,前端模块化那些事儿

文章目录前端模块化省流:chatGPT 总结一、参考资料二、发展历史1.无模块化引出的问题:横向拓展2.IIFE3.Commonjs(cjs)4.AMD引出的问题:5.CMD6.UMD7.ESM往期精彩文章前端模块化 省流:chatGPT 总结 该文章主要讲述了前端模块化的发展历史和各个…

css伪类和伪元素的区别

文章目录什么是css伪类和伪元素css伪类和伪元素有什么用?css伪类的具体使用常见的伪类伪元素的具体使用常见的伪元素什么是css伪类和伪元素 伪类和为元素是两个完全不同且重要的概念,它们的作用是给元素添加一些特殊的效果或样式 伪类用于选择某个元素的…

Kalman Filter in SLAM (6) ——Error-state Kalman Filter (EsKF, 误差状态卡尔曼滤波)

文章目录0.前言1. IMU的误差状态空间方程2. 误差状态观测方程3. 误差状态卡尔曼滤波4. 误差状态卡尔曼滤波方程细节问题0.前言 这里先说一句:什么误差状态卡尔曼?完全就是在扯淡! 回想上面我们推导的IMU的误差状态空间方程,其实…

乐山持点科技:抖客推广准入及准出管理规则

抖音小店平台新增《抖客推广准入及准出管理规则》,本次抖音规则具体如下:第一章 概述1.1 目的及依据为维护精选联盟平台经营秩序,保障精选联盟抖客、商家、消费者等各方的合法权益;根据《巨量百应平台服务协议》、《“精选联盟”服务协议(推广…

【GNN/深度学习】常用的图数据集(资源包)

【GNN/深度学习】常用的图数据集(图结构) 文章目录【GNN/深度学习】常用的图数据集(图结构)1. 介绍2. 图数据集2.1 Cora2.2 Citeseer2.3 Pubmed2.4 DBLP2.5 ACM2.6 AMAP & AMAC2.7 WIKI2.8 COCS2.9 BAT2.10 EAT2.11 UAT2.12 C…

第十三届蓝桥杯省赛Python大学B组复盘

目录 一、试题B:寻找整数 1、题目描述 2、我的想法 3、官方题解 4、另解 二、试题E:蜂巢 1、题目描述 2、我的想法 3、官方题解 三、试题F:消除游戏 1、题目描述 2、我的想法(AC掉58.3%,剩下全超时&#x…

Substrate 基础教程(Tutorials) -- 监控节点指标

Substrate 公开有关网络操作的度量。例如,您可以收集有关您的节点连接了多少个对等节点、您的节点使用了多少内存以及正在生成的块数量的信息。为了捕获和可视化Substrate节点公开的度量,您可以配置和使用Prometheus和Grafana等工具。本教程演示如何使用…

C++学习笔记(以供复习查阅)

视频链接 代码讲义 提取密码: 62bb 文章目录1、C基础1.1 C初识(1) 第一个C程序(2)注释(3)变量(4)常量(5)关键字(6)标识符命名规则1.2 …

mysql 导入超大sql文件

mysql -u root -p 登录mysql命令 可以登陆mysql服务器使用source命令导入,会快很多,我这里导入500M,大概用了5分钟。 1. liunx登陆mysql mysql -u 用户名 -p 数据库名 然后输入密码 登陆mysql控制台后,执行source命令&#xf…

Maven - Linux 服务器 Maven 环境安装与测试

目录 一.引言 二.安装流程 1.获取安装包 2.解压并安装 3.配置环境 4.mvn 验证 三.测试踩坑 1.Permission denied 2.Plugin or dependencies Error 一.引言 通道机上的 java 项目需要 mvn package 提示没有 mvn 命令,下面记录下安装 maven 的全过程。 二.安…

BatchNorm1d的复现以及对参数num_features的理解

0. Intro 以pytorch为例,BatchNorm1d的参数num_features涉及了对什么数据进行处理,但是我总是记不住,写个blog帮助自己理解QAQ 1. 复现nn.BatchNorm1d(num_features1) 假设有一个input tensor: input torch.tensor([[[1.,2.,…

Plsql使用

登录登录system用户,初始有两个用户sys和system,密码是自己安装oracle数据库时写的,数据库选择orcl创建用户点击user,右键新增填写权限关于3个基本去权限介绍: connect : 基本操作表的权限,比如增删改查、视图创建等 r…

Netty channelHandler注意事項——super.channelRead(ctx, msg)

通过nioSocketChannel.pipeline()的addLast添加入站处理器,如果有多个必须显示的唤醒下一个入站处理器,否则执行链中间会断掉。 protected void initChannel(NioSocketChannel nioSocketChannel) throws Exception {log.debug(nioSocketChannel.toStrin…

前端优化,webpack打包删除无用文件,并附上批量删除文件脚本!非常好用

前言 大家可能在webpack打包项目过程中,常遇见一些无用的图片,js文件,怎样能够自动检测哪些是无用的文件呢?本文中介绍使用插件useless-files-webpack-plugin查找无用文件,在terminal中删除,附加bat批量删…

Ngnix安装教程(2023.3.8)

Nginx安装教程(2023.3.8)引言1、Nginx简介2、Nginx安装2.1 下载Nginx安装包2.2 免安装启动Nginx(切记解压后将nginx-1.23.3文件夹需要放在英文路径下,实测中文路径不识别且启动不成功)2.3 熟悉Nginx文件夹目录结构2.4 …

平安银行LAMBDA实验室负责人崔孝林:提早拿到下一个计算时代入场券

量子前哨重磅推出独家专题《“量子”百人科学家》,我们将遍访全球探索赋能“量子”场景应用的百位优秀科学专家,从商业视角了解当下各行业领域的“量子”最新研究成果,多角度、多维度、多层面讲述该领域的探索历程,为读者解析商业…

Python - Pandas - 数据分析(2)

Pandas数据分析2前言常用的21种统计方法describe():numeric_only:偏度skewness:功能:含义:计算公式:演示:峰度值:用途:数值:计算公式:演示&#x…

[Java·算法·中等]LeetCode34. 在排序数组中查找元素的第一个和最后一个位置

每天一题,防止痴呆题目示例分析思路1题解1👉️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1,…

Windows 安装 MongoDB 并内网穿透远程连接

本文目录1.前言2.MongoDB数据库的安装2.1 MongoDB下载安装2.2 MongoDB连接测试2.3 cpolar下载安装3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言 现代电子技术日新月异,并且快速应用到我们的生活中,与之相应的&…