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

相关推荐
鱼跃鹰飞8 小时前
JMM 三大特性(原子性 / 可见性 / 有序性)面试精简版
java·jvm·面试
该怎么办呢8 小时前
基于cesium的三维不动产登记系统的设计与实现(毕业设计)
java·毕业设计
m0_748250038 小时前
C++ 信号处理
c++·算法·信号处理
Ro Jace8 小时前
电子侦察信号处理流程及常用算法
算法·信号处理
yuyanjingtao8 小时前
动态规划 背包 之 凑钱
c++·算法·青少年编程·动态规划·gesp·csp-j/s
J不A秃V头A9 小时前
多任务执行时,共享请求对象被并发修改
java
heartbeat..9 小时前
零基础学 SQL:DQL/DML/DDL/DCL 核心知识点汇总(附带连接云服务器数据库教程)
java·服务器·数据库·sql
专注于大数据技术栈9 小时前
java学习--LinkedHashSet
java·开发语言·学习
core5129 小时前
SGD 算法详解:蒙眼下山的寻宝者
人工智能·算法·矩阵分解·sgd·目标函数
阿湯哥9 小时前
Spring AI Alibaba 实现 Workflow 全指南
java·人工智能·spring