【每日OJ —— 94. 二叉树的中序遍历】

每日OJ —— 94. 二叉树的中序遍历

  • 1.题目:94. 二叉树的中序遍历
  • 2.解法
    • 2.1.算法讲解
    • 2.2.代码实现
    • 2.3.提交通过展示

1.题目:94. 二叉树的中序遍历

在这里插入图片描述

2.解法

2.1.算法讲解

1.首先如果在每次每个节点遍历的时候都去为数组开辟空间,这样的效率太低了,所以我们优化,通过直接统计需要遍历的二叉树的节点的个数,来作为数组开辟空间的大小,这样就及其有效的节省每次遍历都去开辟依次空间的繁琐操作。
2.其次再实现中序遍历的函数接口,需要注意的是中序遍历的顺序是:左子树—>根—>右子树,中序遍历的数组存储二叉树节点数据时候的下标i需要用指针来接收,否则数组的i值下标在左右递归会累加导致越界。
3.最后就是实现中序遍历后返回存储二叉树数据的数组的函数接口。

2.2.代码实现

在这里插入图片描述

2.3.提交通过展示

在这里插入图片描述

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

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

相关文章

OWASP安全练习靶场juice shop-更新中

Juice Shop是用Node.js,Express和Angular编写的。这是第一个 完全用 JavaScript 编写的应用程序,列在 OWASP VWA 目录中。 该应用程序包含大量不同的黑客挑战 用户应该利用底层的困难 漏洞。黑客攻击进度在记分板上跟踪。 找到这个记分牌实际上是&#…

【PyTorch】tensorboardX的安装和使用

文章目录 1. tensorboardX的安装2. tensorboardX的使用 tensorboardX是一种能将训练过程可视化的工具 1. tensorboardX的安装 安装命令: pip install tensorboardXVSCode集成了TensorBoard支持,不过事先要安装torch-tb-profiler,安装命令&…

文件管理和操作工具Path Finder mac功能介绍

Path Finder mac是一款Mac平台上的文件管理和操作工具,提供了比Finder更丰富的功能和更直观的用户界面。它可以帮助用户更高效地浏览、复制、移动、删除和管理文件,以及进行各种高级操作。 Path Finder mac软件功能 - 文件浏览:可以快速浏览文…

如何购买华为云服务器

华为云是华为推出的云计算服务平台,旨在为企业和个人提供全面的云端解决方案。它提供了包括计算、存储、数据库、人工智能、大数据、安全等多种云服务,覆盖了基础设施、平台和软件级别的需求。华为云致力于构建安全可信赖的云计算基础设施,以…

vite初识

Vite是伴随着Vue3正式版一起发布的,最开始Vite 1.0的版本是为Vue3服务的,并不是跨框架的。之后半年时间左右,出现了Vite 2.0版本,Vite 2.0真正脱离了和Vue3的强关联,以插件的方式,可以集成到目前流行的主流…

【每日一题】到达首都的最少油耗

文章目录 Tag题目来源题目解读解题思路方法一:贪心深搜 写在最后 Tag 【递归/深度优先搜索】【树】【2023-12-05】 题目来源 2477. 到达首都的最少油耗 题目解读 每个城市都有一位代表需要前往城市 0 进行开会。每个城市都有一辆座位数为 seats 的汽车&#xff0…

2023.12.4 关于 Spring Boot 统一异常处理

目录 引言 统一异常处理 异常全部监测 引言 将异常处理逻辑集中到一个地方,可以避免在每个控制器或业务逻辑中都编写相似的异常处理代码,这降低了代码的冗余,提高了代码的可维护性统一的异常处理使得调试和维护变得更加容易,通…

Python智能语音识别语翻译平台|项目后端搭建

Python程序设计基础,第三方库Django、requests、hashlib、pyttsx3等的使用,百度API语音识别业务接口、文本朗读业务接口、翻译业务接口的传入。 01、任务实现步骤 任务描述:本任务利用Django框架搭建智能语音识别与翻译平台的后端&#xff0…

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段,从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…

GPT-Crawler一键爬虫构建GPTs知识库

GPT-Crawler一键爬虫构建GPTs知识库 写在最前面安装node.js安装GPT-Crawler启动爬虫结合 OpenAI自定义 assistant自定义 GPTs(笔者用的这个) 总结 写在最前面 GPT-Crawler一键爬虫构建GPTs知识库 能够爬取网站数据,构建GPTs的知识库&#xf…

LeetCode //C - 221. Maximal Square

221. Maximal Square Given an m x n binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area. Example 1: Input: matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,…

计算机操作系统2

1.计算机操作系统的发展和分类 2.操作系统的运行机制 3.中断 3.1.中断(关键作用) 4.系统调用 5.操作系统的内核 6.操作系统的体系结构 7.开机过程(操作系统引导)

Vue3网站用户引导功能【Intro.js】

一、介绍 Intro.js 是一个用于创建网站用户引导、功能介绍和教程的 JavaScript 库。它允许开发者通过步骤和提示突出显示网站上的特定元素,以帮助用户更好地了解和使用网站的功能。以下是 Intro.js 的一些关键特点和用法介绍: 更多Intro.js 功能网址&a…

Hadoop学习笔记(HDP)-Part.08 部署Ambari集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

C语言--每日选择题--Day37

第一题 1. 有以下说明语句:则下面引用形式错误的是() struct Student {int num;double score; };struct Student stu[3] {{1001,80}, {1002,75}, {1003,91}} struct Student *p stu; A:p->num B:(p).num C&#…

使用 GPTs 手捏一个代码评分器(两小时速成)

嗨!大家好久不见~ ChatGPT 支持 GPTs 也有段时间了,看着应用商店里大神们捏出来的 GPTs , 有些确实很有意思,比如:AI 杠精、模拟面试官、海龟汤… 团子也跃跃欲试,想捏一个 好玩且对大家有用 的 GPTs 出来。 考虑到关注…

xxljob学习笔记02(小滴课堂)

分布式调度参数传递和调度日志配置讲解 可以设置任务参数。 代码层面: 可以这样传递参数。 我们在xxljob页面去设置参数: 我们执行一次任务: 我们这里就拿到了参数。 这样我们就能拿到参数了。 日志打印: 在代码中也可以实现&…

Kafka 生产者 API 指南:深入理解生产者的实现与最佳实践

Kafka 是一个高性能、分布式的消息中间件系统,而其生产者 API 是连接应用程序与 Kafka 集群之间的纽带。本篇博客将深入探讨 Kafka 生产者 API 的核心概念、用法,以及一些最佳实践,帮助你更好地利用 Kafka 构建可靠的消息生产系统。 1. Kafk…

从零开始训练一个ChatGPT大模型(低资源,1B3)

macrogpt-prertrain 大模型全量预训练(1b3), 多卡deepspeed/单卡adafactor 源码地址:https://github.com/yongzhuo/MacroGPT-Pretrain.git 踩坑 1. 数据类型fp16不太行, 很容易就Nan了, 最好是fp32, tf32, 2. 单卡如果显存不够, 可以用优化器adafactor, 3. 如果…

算法 搜索

深度优先搜索 广度优先搜索 深搜与广搜的区别 深搜 dfs——回溯——“不撞南墙不回头” 思路 总的来说是不撞南墙不回头,相当于一个人严格按照固定的行为模式。 例如走方格,依次走上下左右,每次走到一个新格子记录自己已经走过的方向&am…