二叉搜索树--新增节点-力扣 701 题

例题细节二叉搜索树的基础操作-CSDN博客也讲过了(put),下面给出递归实现

java 复制代码
public TreeNode insertIntoBST(TreeNode node, int val) {
    //找到空位了
    if(node == null) {
        return new TreeNode(val);
    }
    if(val < node.val) {
        //一直找到有null的位置时就新增节点
        node.left = insertIntoBST(node.left, val);//将新创建好的新节点与父节点建立联系
    } else if(node.val < val) {
        node.right = insertIntoBST(node.right, val);
    }
    return node;
}
//这个递归的缺点:多出一些不必要的赋值动作,来时的所有节点又要在重新建立父子关系  如果要用非递归实现就不会有这种情况
  • 注意事项与上题相同,不再赘述

  • 题目提示输入的 val 一定与树中节点不同,因此只需考虑新增 情况,不会出现更新情况

相关推荐
wayz118 小时前
数据分析中的异常值处理:MAD
算法·数据挖掘·数据分析
飞Link8 小时前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
Mr_Xuhhh9 小时前
深入理解二叉树:从数据结构到算法实战
数据结构·算法
xuhaoyu_cpp_java9 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
JavaEdge.9 小时前
Chrome加载已解压的扩展程序-清单文件缺失或不可读取 无法加载清单
java
iReachers9 小时前
HTML打包EXE配置管理教程:多项目打包设置一键保存、加载与切换
java·前端·javascript
XiYang-DING9 小时前
【Java】堆
java·开发语言
Lyyaoo.9 小时前
【Java基础面经】Java 反射机制
java·开发语言·python
YXWik69 小时前
Langchain4j(1)基础对话+连续对话+工具调用 + 流式响应+结构化 JSON 输出
java
kobesdu9 小时前
FAST-LIO2 + 蓝海M300激光雷达:从建图到实时栅格图的完整流程
算法·机器人·ros·slam·fast lio