二叉搜索树中的搜索(力扣700)

解题思路:因为二叉搜索树的左小右大特点,中只是寻找比较目标,怎么序遍历都可以,终止条件就是遍历完毕和找到了,然后就遍历左右子树开始寻找就好了

具体代码如下:

class Solution {

public:

TreeNode* searchBST(TreeNode* cur, int target) { TreeNode* result = NULL;

if(cur==NULL||cur->val==target)return cur;

if(cur->val>target) result=searchBST(cur->left,target);

if(cur->val<target) result=searchBST(cur->right,target);

return result;

}

};

具体题目如下:

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null

示例 1:

复制代码
输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]

示例 2:

复制代码
输入:root = [4,2,7,1,3], val = 5
输出:[]

提示:

  • 树中节点数在 [1, 5000] 范围内
  • 1 <= Node.val <= 107
  • root 是二叉搜索树
  • 1 <= val <= 107
相关推荐
珂朵莉MM23 分钟前
2025第四届大学生算法挑战赛 赛前测试赛 题解
算法
代码AC不AC30 分钟前
【数据结构】二叉树
数据结构·二叉树·学习分享·递归分析·二叉树遍历方法
LabVIEW开发44 分钟前
LabVIEW 图像处理中常见的边缘检测算法
图像处理·算法·labview
nuo5342021 小时前
第十六届蓝桥杯 省赛C/C++ 大学B组
c语言·c++·算法·蓝桥杯·图论
dokii11 小时前
leetcode572 另一棵树的子树
java·开发语言·算法
无敌的牛1 小时前
双数之和+三数之和+四数之和
数据结构·算法
tpoog2 小时前
[MySQL] 表的增删查改(查询是重点)
linux·数据库·mysql·算法·贪心算法
一只拉古2 小时前
掌握贪心(Greedy)算法:从 LeetCode 难题到系统架构
算法·leetcode·面试
xrkhy3 小时前
提高课:数据结构之树状数组
数据结构·c++·算法