当前位置:网站首页>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;
}
};
边栏推荐
- Feign应用及源码剖析
- Detailed Explanation of Gradient Vanishing and Gradient Explosion Problems
- Web optimization experience (6) - optimization closed-loop practice
- idea installation steps
- 数据库不推荐使用外键的9个理由!
- 以技术御风险,护航云原生 | 同创永益 X 博云举办产品联合发布会
- idea安装步骤
- PCBA电路板为什么需要使用三防漆,有何作用?
- COMSOL Multiphysics 6.0 software installation package and installation tutorial
- Code implementation of various kinds of attention
猜你喜欢
随机推荐
mysql 性能分析
使用.NET简单实现一个Redis的高性能克隆版(三)
代码检查工具
IR(红外遥控)基本原理
高并发下秒杀商品,你必须知道的9个细节
Multi-scalar multiplication: state of the art & new ideas
d实验新异常
各种attention的代码实现
SVN基本操作--文字解析版
Flutter 游戏教程之使用 Flutter 和 Flame 重现著名的 T-Rex 游戏
Redis 定长队列的探索和实践
Practical Case: Building Churn Prediction Models with PySpark ML
四、业务数据解析
COMSOL Multiphysics 6.0 software installation package and installation tutorial
列存储数据库是什么呢?
HMS Core分析服务智能运营6.5.1版本上线
键值数据库是将什么作为标识符的呢?
COMSOL Multiphysics 6.0软件安装包和安装教程
Dubins curve study notes and related thinking
以技术御风险,护航云原生 | 同创永益 X 博云举办产品联合发布会