当前位置:网站首页>Leetcode 701. 二叉搜索树中的插入操作
Leetcode 701. 二叉搜索树中的插入操作
2022-08-09 22:05:00 【LuZhouShiLi】
Leetcode 701. 二叉搜索树中的插入操作
题目
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。
注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。
思路
- 确定递归的参数和返回值:参数就是根节点指针,以及要插入的元素,递归函数有返回值,可以利用返回值完成新加入的节点与其父节点的赋值操作
- 确定终止条件:当前便利的节点是NULL,则该节点就是要插入节点的位置,并把插入的节点返回
- 确定单层递归的逻辑:搜索树是有方向的,可以根据插入元素的数值决定递归的方向
代码
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */
class Solution {
public:
TreeNode* insertIntoBST(TreeNode* root, int val) {
if(root == NULL)
{
// 递归出口
TreeNode* node = new TreeNode(val);// 新建一个节点
return node;
}
if(root->val > val)
{
root->left = insertIntoBST(root->left,val);
}
if(root->val < val)
{
root->right = insertIntoBST(root->right,val);
}
return root;
}
};
边栏推荐
猜你喜欢
华为云全流程护航《流浪方舟》破竹首发,打造口碑爆款
Common commands and technical function modules of Metasploit
Postgresql源码(68)virtualxid锁的原理和应用场景
CV review: softmax code implementation
leetcode:325. 和等于k的最长子数组长度
Chapter 15 HMM模型
Flask introductory learning tutorial
【LaTex】 Font “FandolSong-Regular“ does not contain requested(fontspec)Script “CJK“.如何抑制此种警告?
【Burning】It's time to show your true strength!Understand the technical highlights of the 2022 Huawei Developer Competition in one article
Flask's routing (app.route) detailed
随机推荐
Postgresql源码(68)virtualxid锁的原理和应用场景
How to insist to use procedural system?
Analyze the Add() method in Fragment management from the source code
[WeChat applet development (8)] Summary of audio background music playback problems
反射机制篇
Activiti7审批流
shell学习
Core Data浅谈系列之五 : 在UITableView中展示
Linux 配置MySQL
工作经验-组件封装(拖拽排序组件)
Bi Sheng Compiler Optimization: Lazy Code Motion
shell array
leetcode:319. 灯泡开关
月薪5K的运维小白如何成为月薪5W的高级架构师?
迁移学习 & 凯明初始化
Vmware中安装win7虚拟机以及相关简单知识
Qt 消息机制和事件
高数_复习_第4章:向量代数和空间解析几何
Basic operations of xlrd and xlsxwriter
Rust dereference