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

相关推荐
cike_y2 分钟前
Spring整合Mybatis:dao层
java·开发语言·数据库·spring·mybatis
小股虫2 分钟前
缓存攻防战:在增长中台设计一套高效且安全的缓存体系
java·分布式·安全·缓存·微服务·架构
小蒜学长3 分钟前
足球联赛管理系统(代码+数据库+LW)
java·数据库·spring boot·后端
tobias.b4 分钟前
408真题解析-2009-10-数据结构-排序
数据结构·算法·排序算法·408考研·408真题·真题解析
Zachary_zlc7 分钟前
有向无环图检测算法和关键路径算法
算法
tkevinjd8 分钟前
IO流3(字符流)
java
不吃香菜5678 分钟前
SpringBoot 与 SpringCloud用法和区别
java
你撅嘴真丑9 分钟前
素数回文数的个数 与 求分数序列和
算法
好奇龙猫11 分钟前
【大学院-筆記試験練習:线性代数和数据结构(2)】
数据结构·线性代数·决策树
这是程序猿12 分钟前
基于java的SpringBoot框架医院药品管理系统
java·开发语言·spring boot·后端·spring·医院药品管理系统