代码随想录day28(1)二叉树:二叉搜索树中的插入操作(leetcode701)

题目要求:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。

思路:对于二叉搜索树来说,我们每次插入都可以在叶子节点处插入,也无需调整左右子树高度,比较简单。本题没有通过递归函数返回节点,而是通过递归函数的返回值完成父子节点赋值,更加简洁。

leetcode实战:

代码实现:

递归法:

迭代法:

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

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

相关文章

【深度解析算法】散列表 上

8 散列表 如果所有的键都是小整数,我们可以用一个数组来实现无序的符号表,将键作为数组的索引而数组中键i处储存的就是它对应的值。这样我们就可以快速访问任意键的值。在本节中我们将要学习散列表。它是这种简易方法的扩展并能够处理更加复杂的类型的键…

常见技术难点及方案

1. 分布式锁 1.1 难点 1.1.1 锁延期 同一时间内不允许多个客户端同时获得锁; 1.1.2 防止死锁 需要确保在任何故障场景下,都不会出现死锁; 1.2.3 可重入 特殊的锁机制,它允许同一个线程多次获取同一个锁而不会被阻塞。 1.2…

Web前端Html的表单

表单的关键字: form标签表示一个表单区域 action“后端地址” method“提交数据方式:get/post” input 单行输入框 type“text” 文本 name“定义名称 名字自定义” 向后端提交的键 readonly“readonly” 只读,不可修改,但是可以提交 disab…

C语言学习-day22-函数递归1

程序调用自身的编程技巧被称为递归。举个例子: int main() { printf("hehe\n"); main(); return 0; } 比如这种,自己调用自己后每次都打印一个hehe。 递归的核心思考方式在于:大事化小。 做个练习:接收一个整型值&a…

鸿蒙Harmony应用开发—ArkTS-类型定义

说明: 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 Resource 资源引用类型,用于设置组件属性的值。 可以通过$r或者$rawfile创建Resource类型对象,不可以修改Res…

【S056】Clause46--XGMII接口摘要

文章目录 XGMII数据与lane的对应关系是什么?XGMII上的数据流格式是什么?如何保证0xFB每次都在Lane0?方法一:方法二: Link Fault信号 XGMII数据与lane的对应关系是什么? XGMII上的数据流格式是什么&#xff…

GDC期间LayaAir启动全球化战略

3 月 18 日至 3 月 22 日,一年一度的游戏开发者大会(GDC)在美国旧金山举行。在此期间,Layabox宣布LayaAir引擎启动全球扩张战略,这标志着引擎将步入快速发展的新阶段。此举旨在利用公司先进的3D引擎技术,将…

Linux之git

一、什么叫做版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发项目的技…

Affiliate Stores: 建立营销联盟商店的详细教程- US Domain Center主机

第一步:了解营销联盟商店 营销联盟商店是一种电子商务模式,您可以在其中通过推广其他企业的产品或服务来赚取佣金。您在自己的网站上展示其他企业的产品,并在买家购买时获得佣金。通过 WooCommerce 平台,您可以轻松创建一个营销联…

学习总结!

java目前学习到了数组部分 广搜,在开始的时候把#处理一下会好做很多,遇到上下两层都是# 的,就把上下两层的这个位置都弄成墙就行。还有遇到 一层是#,一层是墙的。也直接把俩都弄城墙就行,省的要判断他撞死,…

vue2的v-model不更新

场景 动态生成组件时,动态为表单添加属性,同时使用v-model以数组形式访问表单属性。通过监听表单对象,发现并未实施更新。 原因 vue2无法监听数组索引一系列操作,从而不能及时响应。vue2是通过Object.definePropertys实现响应式的…

部署mysql,前端,后端

部署mysql docker pull mysql 从镜像源中拉取镜像。 创建mysql容器 docker run -d \--name mysql_container \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \--restartalways \-v /opt/mysql:/var/lib/mysql \mysql -d后台运行,--name指定容器…

【JavaScript】JavaScript 程序流程控制 ⑤ ( 嵌套 for 循环 | 嵌套 for 循环概念 | 嵌套 for 循环语法结构 )

文章目录 一、嵌套 for 循环1、嵌套 for 循环概念2、嵌套 for 循环语法结构 二、嵌套 for 循环案例1、打印三角形2、打印乘法表 一、嵌套 for 循环 1、嵌套 for 循环概念 嵌套 for 循环 是一个 嵌套的 循环结构 , 其中一个 for 循环 位于另一个 for 循环的内部 , 分别是 外层 f…

计算机网络实验——学习记录二(HTTP协议)

1. Linux主机上连接互联网的网络接口是:ens33。 2. 在显示过滤器(Filter)中输入“ http.host www.zzu.edu.cn”,筛选出HTTP协议报文首部行中包含“ Host:www.zzu.edu.cn”的报文(目的地址是Web服务器的报…

学习或复习电路的game推荐:nandgame(NAND与非门游戏)、Turing_Complete(图灵完备)

https://www.nandgame.com/ 免费 https://store.steampowered.com/app/1444480/Turing_Complete/ 收费,70元。据说可以导出 Verilog !

十.pandas方法总结Numpy

目录 十.pandas方法总结 1.索引切片 2.数据排序 3.数据统计 Pandas数据计算 4.数据查看 5.数据清洗 6-数据分组 查看分组结果 7-处理第三方数据 csv文件操作 Excel文件操作 Excel文件读取read_excel Excel文件写入 to_excel() SQL操作 mysql读取 数据保存 pa…

Ubuntu 未能识别较新型号 Nvidia 显卡案例分析

(首发地址:学习日记 https://www.learndiary.com/2024/03/unknown-nvidia-card-in-ubuntu/ ) 大家好,我是在淘宝“学习日记小店”做 Linux 服务的 learndiary。本文分享两个关于 Ubuntu 操作系统未能正确识别新型 NVIDIA 显卡型号…

代码随想录算法训练营第二十五天| LeetCode216. 组合III、LeetCode17.电话号码的字母组合

#LeetCode 216. Combination III #LeetCode 216. 视频讲解:和组合问题有啥区别?回溯算法如何剪枝?| LeetCode:216.组合总和III_哔哩哔哩_bilibili 如果做了77 题后,这个题目可以用相似的思路。回溯三部曲: …

c++和c语言的区别实例

C和C语言在程序设计领域内具有深远的影响,它们不仅丰富了编程的世界,也为软件开发人员提供了强大的工具。虽然C是在C语言的基础上发展起来的,但两者之间存在着一些关键的区别。为了更深入地理解这些不同,本文将从多个维度探讨C和C…

数据结构——双向链表(C语言版)

上一章:数据结构——单向链表(C语言版)-CSDN博客 目录 什么是双向链表? 双向链表的节点结构 双向链表的基本操作 完整的双向链表示例 总结 什么是双向链表? 双向链表是一种常见的数据结构,它由一系列节…