二叉搜索树--新增节点-力扣 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 一定与树中节点不同,因此只需考虑新增 情况,不会出现更新情况

相关推荐
华农DrLai1 分钟前
什么是推荐系统中的负反馈?用户的“踩“和“不感兴趣“怎么用?
人工智能·算法·llm·prompt·知识图谱
好家伙VCC1 分钟前
# ARCore+ Kotlin 实战:打造沉浸式增强现实交互应用在
java·python·kotlin·ar·交互
木斯佳3 分钟前
前端八股文面经大全:京东零售JDY前端一面(2026-04-14)·面经深度解析
前端·算法·设计模式·ai·断点续传
zore_c3 分钟前
【C++】C++——类的默认成员函数(构造、析构、拷贝构造函数)
java·c语言·c++·笔记·算法·排序算法
我登哥MVP4 分钟前
【SpringMVC笔记】 - 4 - 三个域对象
java·spring boot·spring·servlet·tomcat·maven·intellij-idea
Seven975 分钟前
【从0到1构建一个ClaudeAgent】协作-Agent团队
java
进击的荆棘6 分钟前
C++起始之路——AVL树的实现
开发语言·数据结构·c++·stl·avl
生信研究猿6 分钟前
第2题-模型推理量化加速优化问题
python·算法
郝学胜-神的一滴7 分钟前
[系统设计] 新鲜事系统:写扩散与读扩散的实现与对比
java·设计模式·php·软件构建·需求分析·软件设计·系统设计
进击的荆棘8 分钟前
C++起始之路——红黑树的实现
开发语言·数据结构·c++·stl·红黑树