LeetCode【701】二叉搜索数的插入操作

题目:

思路:

https://zhuanlan.zhihu.com/p/272781596

代码:

java 复制代码
class Solution {
    public TreeNode insertIntoBST(TreeNode root, int val) {
         return process(root,val);   
    }
		//递归
    public TreeNode process(TreeNode root,int val){
    	//base case  来到null 位置,创建出节点
        if(root == null){
            return new TreeNode(val);
        }
        //寻找创建的位置,
        if(root.val > val){
            root.left = process(root.left,val);

        }
         //寻找创建的位置,
        if(root.val < val){
            root.right = process(root.right,val);
        }
        return root;    // 这里是精妙之处,其实遍历的过程中,返回了root,对于普通节点,入传入的root.left,返回仍然是root.left
    }
}
相关推荐
007php007几秒前
nginx加速缓存导致Event-Stream消息延迟问题的解决方案
运维·网络·数据库·nginx·缓存·面试·职场和发展
小此方3 分钟前
Re:从零开始的链式二叉树:建树、遍历、计数、查找、判全、销毁全链路实现与底层剖析
c语言·数据结构·c++·算法
im_AMBER7 分钟前
Leetcode 65 固定长度窗口 | 中心辐射型固定窗口
笔记·学习·算法·leetcode
得物技术14 分钟前
项目性能优化实践:深入FMP算法原理探索|得物技术
前端·算法
FMRbpm15 分钟前
STL中栈的实现
数据结构·c++·算法
roman_日积跬步-终至千里17 分钟前
【模式识别与机器学习(3)】主要算法与技术(中篇:概率统计与回归方法)之贝叶斯方法(Bayesian)
算法·机器学习·回归
AI科技星20 分钟前
加速正电荷产生的电场、引力场与磁场变化率方向关系的数学求导验证——基于张祥前统一场论核心方程
数据结构·人工智能·经验分享·算法·机器学习·计算机视觉
zore_c43 分钟前
【C语言】文件操作详解1(文件的打开与关闭)
c语言·开发语言·数据结构·c++·经验分享·笔记·算法
资深web全栈开发1 小时前
[特殊字符] LeetCode 2141:如何让 N 台电脑续航最久?——“二分答案“套路一文讲透
算法·leetcode
刃神太酷啦1 小时前
C++的IO流和C++的类型转换----《Hello C++ Wrold!》(29)--(C/C++)
java·c语言·开发语言·c++·qt·算法·leetcode