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

相关推荐
M***Z2109 分钟前
SQL 建表语句详解
java·数据库·sql
v***7949 分钟前
Spring Boot 热部署
java·spring boot·后端
执笔论英雄9 分钟前
【RL】python协程
java·网络·人工智能·python·设计模式
galaxyffang20 分钟前
认证、会话管理、授权的区别
java
未名编程24 分钟前
Windows 下如何部署 Nacos 并导入配置文件
java·windows
boonya30 分钟前
Java中Plugin设计模式的规范应用
java·spring·设计模式·插件模式
福尔摩斯张40 分钟前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
你好~每一天1 小时前
未来3年,最值得拿下的5个AI证书!
数据结构·人工智能·算法·sqlite·hbase·散列表·模拟退火算法
杰克尼1 小时前
3. 分巧克力
java·数据结构·算法
听风吟丶1 小时前
Java 高级多线程编程:从虚拟线程到结构化并发的实战演进
java·开发语言