当前位置:网站首页>Leetcode 700. 二叉搜索树中的搜索
Leetcode 700. 二叉搜索树中的搜索
2022-08-08 10:09:00 【LuZhouShiLi】
Leetcode 700. 二叉搜索树中的搜索
题目
给定二叉搜索树(BST)的根节点 root 和一个整数值 val。
你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。
思路
- 确定递归参数和返回值:递归参数就是根节点和要找的值
- 终止条件:节点是空的,返回,找到该数值,返回当前节点
- 确定单层递归逻辑:二叉搜索树是有序的,如果root->val < val,搜索右子树 root->val > val 搜索左子树
代码
/** * 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* searchBST(TreeNode* root, int val) {
if(root == NULL || root->val == val)
{
return root;
}
// 搜索右子树
if(root->val < val)
{
return searchBST(root->right,val);
}
// 搜索左子树
if(root->val > val)
{
return searchBST(root->left,val);
}
return NULL;
}
};
边栏推荐
- "Weekly Translate Go" This time we have something different!-- "How to Code in Go" series launched
- VPP source address NAT
- Forward Propagation and Back Propagation
- xgboost 加速
- 2万字50张图玩转Flink面试体系
- 机器学习模型太慢?来看看英特尔(R) 扩展加速
- 文档数据库是怎么定位一个文档的呀?
- 语音聊天app开发——对用户更具吸引力的设计
- 【AGC】开放式测试示例
- Machine learning model too slow?Look at Intel (R) extension to accelerate
猜你喜欢
随机推荐
Redis 定长队列的探索和实践
巧用Prometheus来扩展kubernetes调度器
实战案例:用 PySpark ML 构建流失预测模型
What is intrinsic safety?
利用图像二维熵实现视频信号丢失检测(Signal Loss Detection)
The entity List to excel
"Weekly Translate Go" This time we have something different!-- "How to Code in Go" series launched
牛客收藏上万的神作!这份阿里P8手写的MySQL主从原理手册真的牛
PCL 计算两空间直线的交点
nacos安装
经开安监App技术服务支持
Feign应用及源码剖析
关系型数据库的优缺点是什么?
【AGC】开放式测试示例
Classification of software testing
Multi-scalar multiplication: state of the art & new ideas
牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02
文档数据库是怎么定位一个文档的呀?
文档数据库中的文档有什么用呢?
面试突击72:输入URL之后会执行什么流程?