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

LC.701 | 二叉搜索树中的插入操作 | 树 | 迭代模拟

输入:
二叉搜索树的根节点root和一个待插入的整数val

要求:
val插入到二叉搜索树中,并保证插入后整棵树仍然满足 BST 的性质(左 < 根 < 右)。
题目保证新值和原始树中任意节点值都不同。

输出:
插入节点后的二叉搜索树的根节点。


思路:

在二叉搜索树中插入新节点,其实就是**“一次失败的查找”**。我们要找这个值应该在的位置,直到走到死胡同(空指针),那个位置就是它该待的地方。

本题解采用了迭代(循环)法,相比递归不仅逻辑直观,而且空间复杂度更优。

  1. 特判空树
    如果根节点为空,直接用新值创建一个节点并返回,它就是新的根。

  2. 寻找插入位置(模拟)
    使用while循环遍历树,利用 BST 性质(val大往右走,val小往左走)。

    • 关键技巧 - “向前看一步”
      在决定向左还是向右移动之前,先检查那边的路是不是断的(即子节点是否为null)。
      • 如果是null,说明找到了!直接new一个节点接上去,任务完成,返回根节点。
      • 如果不是null,则移动指针root继续向下寻找。

复杂度:

  • 时间复杂度:O(H)
    • 树的高度。我们需要从根遍历到叶子节点。
  • 空间复杂度:O(1)
    • 使用了迭代法,不需要递归栈,仅使用了常数个辅助变量。

classSolution{public:TreeNode*insertIntoBST(TreeNode*root,intval){if(!root){TreeNode*ans=newTreeNode(val);returnans;}TreeNode*ans=root;while(root){if(root->val<val){if(!root->right){TreeNode*tmp=newTreeNode(val);root->right=tmp;returnans;}else{root=root->right;}}else{if(!root->left){TreeNode*tmp=newTreeNode(val);root->left=tmp;returnans;}else{root=root->left;}}}returnans;}};
http://www.cnnetsun.cn/news/64982.html

相关文章:

  • 达人内容乱+不合规?KOL/KOS/KOC/KOC/KOX内容协同+合规管控,品牌调性不跑偏
  • 解锁优质创意素材:这四个专业平台值得收藏
  • 毕设分享 深度学习遮挡下的人脸识别(源码+论文)
  • Python UV搭配Miniconda:下一代包管理体验
  • 实验室装修,怎样做更省心?
  • Redis多数据源配置指南
  • AutoGPT支持ONNX Runtime部署了吗?跨框架兼容测试
  • 零基础小白网络安全入行清单:学技术前,先搞定这6件“小事”
  • 计算机毕业设计springboot小区送货系统 基于SpringBoot的社区末端智能配送平台 面向住宅区的 轻量级电商物流管理系统
  • GitHub组织账号管理Qwen3-32B项目协作开发流程
  • 毕设项目分享 基于大数据的招聘职业爬取与分析可视化
  • vLLM镜像实测:连续批处理让Qwen推理效率翻倍
  • LabVIEW 携手 YOLOv8:全方位视觉处理的奇妙之旅
  • 某雷赛86闭环步进驱动方案-HBS86H整体方案及原理图、PCB、无错无警告代码打包
  • 【从0到1学RabbitMQ】十分钟上手 RabbitMQ:Docker 部署 + Spring Boot 自动化配置全攻略
  • 【论文笔记•(多智能体)】A Knowledge-driven Adaptive Collaboration of LLMs for Enhancing Medical Decision-making
  • 通过SEO推广LobeChat博客内容,带动大模型Token购买转化
  • 【Svelte】重定向页面
  • 基于SpringBoot的日用品仓储管理系统的设计与实现
  • 基于SpringBoot的校园论坛交流系统
  • AutoGPT如何处理模糊目标?自然语言理解边界探讨
  • 清华镜像站推荐:Miniconda下载提速80%的秘密武器
  • update.py update脚本 git一键上传push脚本 - Git自动化推送代码的几种方式及实用脚本
  • 从GitHub获取Qwen3-8B最新镜像并完成本地化部署
  • Ubuntu安装完成后配置PyTorch-GPU的完整流程
  • 购买GPU算力租用Qwen3-14B实例的性价比分析
  • LobeChat前端性能优化建议:减少加载时间提升访问量
  • 学术研究新利器:Qwen3-8B开箱即用镜像发布
  • 使用wget命令从清华源下载PyTorch安装包的脚本示例
  • AutoGPT镜像适用于科研场景吗?高校团队已投入使用