mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 01:44:56 +08:00
add: leetcode 0700 readme
This commit is contained in:
61
leetcode/0700.Search-in-a-Binary-Search-Tree/README.md
Normal file
61
leetcode/0700.Search-in-a-Binary-Search-Tree/README.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# [700. Search in a Binary Search Tree](https://leetcode-cn.com/problems/search-in-a-binary-search-tree/)
|
||||||
|
|
||||||
|
## 题目
|
||||||
|
|
||||||
|
You are given the root of a binary search tree (BST) and an integer val.
|
||||||
|
|
||||||
|
Find the node in the BST that the node's value equals val and return the subtree rooted with that node. If such a node does not exist, return null.
|
||||||
|
|
||||||
|
**Example 1**:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Input: root = [4,2,7,1,3], val = 2
|
||||||
|
Output: [2,1,3]
|
||||||
|
|
||||||
|
**Example 2**:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Input: root = [4,2,7,1,3], val = 5
|
||||||
|
Output: []
|
||||||
|
|
||||||
|
**Constraints:**
|
||||||
|
|
||||||
|
- The number of nodes in the tree is in the range [1, 5000].
|
||||||
|
- 1 <= Node.val <= 10000000
|
||||||
|
- root is a binary search tree.
|
||||||
|
- 1 <= val <= 10000000
|
||||||
|
|
||||||
|
## 题目大意
|
||||||
|
|
||||||
|
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
|
||||||
|
|
||||||
|
## 解题思路
|
||||||
|
|
||||||
|
- 根据二叉搜索树的性质(根节点的值大于左子树所有节点的值,小于右子树所有节点的值),进行递归求解
|
||||||
|
|
||||||
|
## 代码
|
||||||
|
|
||||||
|
```go
|
||||||
|
package leetcode
|
||||||
|
|
||||||
|
type TreeNode struct {
|
||||||
|
Val int
|
||||||
|
Left *TreeNode
|
||||||
|
Right *TreeNode
|
||||||
|
}
|
||||||
|
|
||||||
|
func searchBST(root *TreeNode, val int) *TreeNode {
|
||||||
|
if root == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if root.Val == val {
|
||||||
|
return root
|
||||||
|
} else if root.Val < val {
|
||||||
|
return searchBST(root.Right, val)
|
||||||
|
} else {
|
||||||
|
return searchBST(root.Left, val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
Reference in New Issue
Block a user