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
    }
}
相关推荐
zander25817 分钟前
35. 搜索插入位置:从边界语义理解二分查找
数据结构·算法·leetcode
汤愈韬21 分钟前
模型求解算法
人工智能·算法·机器学习
Keven_1140 分钟前
算法札记:DP中的滚动数组
算法·滚动数组
luj_176841 分钟前
随机性在算法与占卜中的共通原理
c语言·开发语言·c++·经验分享·算法
yyds_yyd_100861 小时前
3731. 找出缺失的元素(2026.08.04)
c++·leetcode
Chen—LSN1 小时前
C语言——深度理解指针(5)
c语言·数据结构·算法·排序算法
佳児素花痴╮3 小时前
树的基础知识与查找排序算法
数据结构·算法
lueluelue4710 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水16813 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子13 小时前
Adaboost算法原理与计算实例
算法