当前位置: 首页 > news >正文

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

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

注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

题解

如何找到二叉搜索树的插入位置?
插入后要使得插入后的二叉树的中序序列为递增,可以不考虑题目中提示所说的改变树的结构的插入方式,只要按照二叉搜索树的规则去遍历,遇到空节点就插入节点就可以了。
–>小于根则往左子树找,大于根则往右子树找

1.终止条件:遇到空节点,此时可以插入,并将插入节点的值返回。return new TreeNode(val)
2.本层操作:往左走或往右走,根据插入元素的数值,决定递归方向,本层用root->left或者root->right将下一层节点接住
3.递归没有终止,本层需返回root节点给上一层

class Solution {public TreeNode insertIntoBST(TreeNode root, int val) { //终止条件if(root==null) return new TreeNode(val);//向右子树递归,并且用root.right接住递归返回值if(root.val>val) root.left=insertIntoBST(root.left,val);else root.right=insertIntoBST(root.right,val);//归没有终止,本层需返回root节点给上一层return root;}
}

http://www.mrgr.cn/news/24580.html

相关文章:

  • 287. 寻找重复数(stl法)
  • 即插即用篇 | YOLOv8 引入并行的分块注意力 | 北京大学 2024 | 微小目标
  • QT设置闹钟超时播报
  • 1.简述语言建模LM、统计语言建模SLM、神经语言模型NLM、预训练语言模型PLM、大语言模型LLM
  • 搜索功能技术方案
  • Linux——高流量 高并发(访问场景) 高可用(架构要求)
  • 源码编译 openblas for windows on arm
  • 串口接收不到数据之电阻虚焊bug分析思路
  • 微深节能 天车无人抓渣系统 格雷母线定位系统
  • C语言学习
  • React项目的开发前准备 以及 JSX 的基本使用
  • 非关系型数据库Redis
  • rocky8安装docker步骤
  • HCIE证书泛滥,曾经的“顶流”现在怎么了?
  • 【CAPL实战】解决调用LIN函数不生效问题
  • java实现策略模式
  • 路径规划 C++(Ⅱ)
  • 记录word转xml文件踩坑
  • 测测万用表?合宙功耗分析仪Air9000Air9000P齐出动
  • Plotly 画交互式3D图