二叉搜索树中的搜索(力扣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
相关推荐
星释2 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释2 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜3 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue3 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp3 小时前
牛客网华为在线编程题
算法
lkbhua莱克瓦244 小时前
Java基础——集合进阶用到的数据结构知识点1
java·数据结构·笔记·github
杨福瑞4 小时前
数据结构:单链表(2)
c语言·开发语言·数据结构
王璐WL5 小时前
【数据结构】单链表及单链表的实现
数据结构
黑屋里的马5 小时前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
z187461030035 小时前
list(带头双向循环链表)
数据结构·c++·链表