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

相关推荐
lxl13077 分钟前
C++算法(11)字符串
开发语言·c++·算法
2601_953465617 分钟前
m3u8live.cn深度解析:一款专为开发者打造的 M3U8 调试工具
java·前端·django·音视频·开发工具
passxgx10 分钟前
12.3 多维高斯分布与加权最小二乘法
线性代数·算法·最小二乘法
少许极端10 分钟前
算法奇妙屋(三十)-递归、回溯与剪枝的综合问题 3
算法·深度优先·剪枝·数独·n皇后
稻草猫.17 分钟前
SpringBoot日志全解析:从调试到持久化
java·开发语言·spring boot·java-ee·idea
zopple17 分钟前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
WBluuue20 分钟前
数据结构与算法:01分数规划
c++·算法
小鸡吃米…23 分钟前
Python线程同步
开发语言·数据结构·python
清水白石00825 分钟前
Python 弱引用深度解析——让缓存不再成为内存泄漏的温床
java·python·缓存
zzb158026 分钟前
RAG from Scratch-优化-routing
java·前端·网络·人工智能·后端·python·mybatis