news 2026/4/23 22:22:15

力扣701 二叉搜索树中的插入操作 java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣701 二叉搜索树中的插入操作 java实现

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

给定二叉搜索树(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中不存在。

由于该题不要求是平衡二叉树,所以只需要按照构造来即可。即递归二叉搜索树,若给出的值比当前节点的值大,则向右递归,若比当前节点小则向左递归,直至最终遇到空节点。具体代码如下:

public static void main(String[] args) { // 测试用 TreeNode treeNode1 = new TreeNode(4); treeNode1.left = new TreeNode(2); treeNode1.right = new TreeNode(7); treeNode1.left.left = new TreeNode(1); treeNode1.left.right = new TreeNode(3); System.out.println(insertIntoBST(treeNode1, 5)); } public static TreeNode insertIntoBST(TreeNode root, int val) { if (root == null){ root = new TreeNode(val); return root; } if (val > root.val){ // 大于当前值则向右递归,反之向左递归 root.right = insertIntoBST(root.right, val); }else { root.left = insertIntoBST(root.left, val); } return root; }

以上为记录分享用,代码较差请见谅

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:36:38

Qwen-Image深度解析:20B参数国产图像生成模型

Qwen-Image深度解析&#xff1a;20B参数国产图像生成模型 在广告设计师熬夜修改海报文案的深夜&#xff0c;在教育机构为一本讲义配图焦头烂额时&#xff0c;在跨境电商卖家需要快速产出本地化视觉素材的清晨——一个共同的痛点浮现&#xff1a;我们有了强大的AIGC工具&#x…

作者头像 李华
网站建设 2026/4/23 13:36:36

开源聊天界面新秀LobeChat全面上手评测

开源聊天界面新秀 LobeChat 全面上手评测 在大模型技术席卷全球的今天&#xff0c;我们早已不再惊讶于 AI 能写诗、编程或回答复杂问题。真正让人头疼的是&#xff1a;如何把强大的模型能力&#xff0c;变成一个用户愿意天天用的产品&#xff1f; 你可能已经试过直接调用 OpenA…

作者头像 李华
网站建设 2026/4/23 12:25:57

八大排序之:冒泡排序、快速排序和堆排序

1.冒泡排序1.1 基本概念冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它重复地遍历要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们的顺序错误就把它们交换过来。这个算法的名称由来是因为越小的元素会经由交换慢慢"浮&qu…

作者头像 李华
网站建设 2026/4/23 13:38:48

Echart y轴纵坐标设置最小刻度值 minInterval

splitNumber: 10, *****坐标轴的分割段数 minInterval: 1 *****自动计算坐标轴最小间隔&#xff0c;例&#xff1a;设置成1&#xff0c;刻度没有小数 maxInterval: 20’‘, *****自动计算坐标轴最大间隔yAxis: {type: "value",min: 0,minInterval: 1, // 保证刻度为整…

作者头像 李华
网站建设 2026/4/23 12:10:33

LobeChat能否诊断程序bug?开发者调试助手

LobeChat能否诊断程序bug&#xff1f;开发者调试助手 在现代软件开发中&#xff0c;一个常见的场景是&#xff1a;你盯着终端里一行晦涩的 Python 错误堆栈&#xff0c;TypeError: NoneType object is not iterable&#xff0c;却一时想不起哪里漏了返回值。查文档、搜 Stack …

作者头像 李华
网站建设 2026/4/23 15:00:48

Excalidraw this unlicensed adobe app has been disabled 错误解决方案

Excalidraw “this unlicensed adobe app has been disabled” 错误解决方案 在现代远程协作场景中&#xff0c;可视化工具已成为团队沟通不可或缺的一环。Excalidraw 凭借其极简设计、手绘风格和出色的可扩展性&#xff0c;被广泛用于架构图绘制、产品原型讨论乃至代码注释标…

作者头像 李华