leetcode701. 二叉搜索树中的插入操作(java)

二叉搜索树中的插入操作

  • leetcode701. 二叉搜索树中的插入操作
    • 题目描述
  • 递归解题
    • 解题思路
    • 代码演示
  • 二叉树专题

leetcode701. 二叉搜索树中的插入操作

原题链接:
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/insert-into-a-binary-search-tree

题目描述

给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。
注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。

示例1:
在这里插入图片描述
输入:root = [4,2,7,1,3], val = 5
输出:[4,2,7,1,3,5]
解释:另一个满足题目要求可以通过的树是:
在这里插入图片描述

示例 2:
输入:root = [40,20,60,10,30,50,70], val = 25
输出:[40,20,60,10,30,50,70,null,null,25]

示例 3:
输入:root = [4,2,7,1,3,null,null,null,null,null,null], val = 5
输出:[4,2,7,1,3,5]

提示:
树中的节点数将在 [0, 104]的范围内。
-108 <= Node.val <= 108
所有值 Node.val 是 独一无二 的。
-108 <= val <= 108
保证 val 在原始BST中不存在。

递归解题

解题思路

我们先要确定一直值要插入的地方,因为搜索树要满足有序的,
因此第一步先确定位置,
和当前节点的值比较,比当前节点值小,就去左树上继续递归
比当前节点值大,就去右树上递归
最后会来到一个null 位置,也就是base case 创建出这个节点。

代码演示

/*** 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 TreeNode insertIntoBST(TreeNode root, int val) {return process(root,val);   }//递归public TreeNode process(TreeNode root,int val){//base case  来到null 位置,创建出节点if(root == null){return new TreeNode(val);}//寻找创建的位置,if(root.val > val){root.left = process(root.left,val);}//寻找创建的位置,if(root.val < val){root.right = process(root.right,val);}return root;}
}

二叉树专题

leetcode98. 验证二叉搜索树

leetcode700. 二叉搜索树中的搜索

leetcode95–不同的二叉搜索树 II

力扣-根据前序和后序遍历构造二叉树

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

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

相关文章

级差制系统开发模式逻辑详解

在所有的直销模式中&#xff0c;级差制其实是最公平的一种&#xff0c;因为它的主旨就是多劳多得&#xff0c;给每个人的机会都是平等的&#xff0c;尤其是对于那些能力强肯努力的直销员来说&#xff0c;完全可以拿到自己应得的报酬&#xff0c;而且这个报酬相当可观。 级差制模…

魔兽跟随字符串

魔兽跟随字符串 打11跟随&#xff0c;打22自动跟随 !TwvuRnUrq4)lck4axcw6sOCpKcU5KBYHJTRxL6lVSwBKwzVxL1AwTkj(OiAFUW13lfk0xk9HwOV02hUFonT9(x0zgjzRCxmCpCScXmZo7mFZS7md3LhWzl5Sy8di1f2uvMKZgDrWGZg6Zzj6mlt9sjFORhNz1rxln5kDgW7(4UhYz5Y0KXAvMLZ(0rbbJoNZUDussU0Yh2fmRk…

Weka的下载与安装

一、安装Weka 1、进入官网 https://www.cs.waikato.ac.nz/ml/weka/ 。 2、在Getting started中点击Download&#xff0c;再选择合适的版本下载即可。我选择的是Windows 64bit without JVM的版本。 3、安装Weka。 4、进入安装目录&#xff0c;将data文件夹复制粘贴至方便使用的…

wmi_exporter+Prometheus+Grafana

wmi_exporterPrometheusGrafana 原文地址&#xff1a; CSDN&#xff1a;NRlovestudy&#xff1a;Windows 下搭建 wmi_exporterPrometheusGrafana 服务器性能监控平台 wmi_exporter&#xff08;Windows&#xff09; / node_exporter &#xff08;Linux&#xff09; 是用来做数据…

WEKA数据集

WEKA数据集&#xff1a; WEKA所处理的数据集是一个.arff&#xff08;attribute relation file&#xff09;为后缀名的二维表。这是一种ASCII文本文件。以%开始的行是注释。 表中具体的内容&#xff1a; relation文件名称 attribute属性名和具体的属性值 data后为每个实例对应的…

wamp安装composer

一、下载 打开链接&#xff1a;https://docs.phpcomposer.com/00-intro.html 在导航路径里找到“使用安装程序”&#xff1a; 点击入门后就回出现如下界面&#xff1a;找到“使用安装程序”并单击 点击即可下载 二、安装 1、下载后直接双击安装&#xff0c;直接Next。 2、通…

WeKa 数据集

今天找weka官方数据集差点被自己蠢哭&#xff0c;写个博客纪念一下。最近在学习weka的基本操作&#xff0c;来训练自己的数据进行分类等操作&#xff0c;网上找了一个视频Weka讲解视频 YouTobe视频 “https://www.youtube.com/watch?vLcHw2ph6bss&listPLm4W7_iX_v4NqPUjc…

wago edz 下载_用电子枪制造的WeakAuras Wago.io桥

wago edz 下载 弱光环伴侣 (WeakAuras-Companion) The bridge between WeakAuras and wago.io. WeakAuras和wago.io之间的桥梁。 View Demo 查看演示 Download Source 下载源 安装 (Installation) Require WeakAuras version > 2.11-beta2 Install last executable from ht…

astar插件下载 就行_怀旧服插件:简约清爽界面推荐,MangUI、NDui、ShadowUF安装与设置...

前言 最近由于工作原因,外加上犯懒,有一段时间没关注魔兽上的事儿,平时下班偶尔打打本野外逛一逛啥的 前一阵国服知名盗贼玩家uc卖插件的事儿闹得沸沸扬扬,6月9日,uc发了道歉的视频,才引起了我的兴趣,先就事论事来说,不管他这个插件原创度有多少,拿出来卖钱也是不合适…

kubernetes 安装 Prometheus + Grafana

kubernetes 安装 Prometheus Grafana kubernetes install Prometheus Grafana 官网 Official website https://prometheus.io/ GitHub GitHub https://github.com/coreos/kube-prometheus 组件说明 Component description MetricServer&#xff1a;是kubernetes集群资源使用情…

Maya《UV》

Maya 《UV》 1.建模编辑器 2. U轴V轴&#xff0c;UV工具包 3.工具》显示UV工具包 4.赋予物体贴图 1&#xff09;材质 2&#xff09;贴图 双击材质球&#xff0c;点击颜色后面的棋盘格&#xff0c;在弹出的窗口中选择文件&#xff0c;将需要的贴图赋予材质球 按下6进行显示贴…

WADO-URI,WADO-RS

可以关注技术大牛博客https://blog.csdn.net/zssureqh WADO-URI accept&#xff1a;请求中的accept表明客户端&#xff08;通常是浏览器&#xff09;自身能够支持的从服务器返回的数据类型&#xff0c;例如上图中支持image/webp,image/,/*;q0.8表示图片的质量 accept-encodi…

OWA TOP10

1.SQL注入 1.1.解释 将一些包含指令的数据传入给解释器&#xff0c;如SQL注入 1.2.防范措施 对特殊字符进行转义 1.3.演示 package mainimport ("github.com/gin-gonic/gin""net/http" ) import "database/sql" import _ "github.com…

weakauras教程_简单的WeakAuras2教程 基础功能设置指南(2)

WeakAuras2教程之冷却设置 这样&#xff0c;不灭决心的冷却图标我们也就做出来了&#xff01; 然后我们要做的事是让他们重合在一个位置(鼠标不准的话可以在图示里面的XY偏移调&#xff0c;两个数字都一样就行。 重合后我们关掉插件&#xff0c;使用技能不灭决心&#xff0c;&a…

weka介绍与安装

一、weka介绍 WEKA的全名是怀卡托智能分析环境&#xff08;Waikato Environment for Knowledge Analysis&#xff09;&#xff0c;同时weka也是新西兰的一种鸟名&#xff0c;而WEKA的主要开发者来自新西兰。WEKA作为一个公开的数据挖掘工作平台&#xff0c;集合了大量能承担数…

海睿思分享 | 摆脱数据质量低下困扰,这个方法简单有效!

2019年五月&#xff0c;某企业数据服务平台推送了运营花呗的蚂蚁小微小额贷款有限公司进入清算程序。 究其原因&#xff0c;该数据服务平台抓取了不真实且不完整的数据&#xff0c;导致生成的数据质量低&#xff0c;信息不真实、存在法律合规风险等情况。 由于支付宝和花呗的…

从0到1实现IOC

一、什么是 IOC 我们先来看看spring官网对IOC的定义&#xff1a; IoC is also known as dependency injection (DI). It is a process whereby objects define their dependencies, that is, the other objects they work with, only through constructor arguments, argumen…

23 种设计模式的通俗解释

咱也来一篇java相关的哦 01 工厂方法 追 MM 少不了请吃饭了&#xff0c;麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西&#xff0c;虽然口味有所不同&#xff0c;但不管你带 MM 去麦当劳或肯德基&#xff0c;只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅…

23 种设计模式的通俗解释,秒懂

01 工厂方法 追 MM 少不了请吃饭了&#xff0c;麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西&#xff0c;虽然口味有所不同&#xff0c;但不管你带 MM 去麦当劳或肯德基&#xff0c;只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式&…

一篇读懂设计模式

概述 软件设计模式&#xff08;Software Design Pattern&#xff09;&#xff0c;又称设计模式&#xff0c;是一套被反复使用、多 数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不 断重复发生的问题&#xff0c;以及该问题的解决方案。也就…