700. Search in a Binary Search Tree
Содержание
Задача
Дан корневой узел бинарного дерева поиска (BST) и значение. Необходимо найти это значение в этом дереве, и если оно представлено - вернуть узел с этим значением.
Например, дано дерево:
4
/ \
2 7
/ \
1 3Найти значение: 2 необходимо вернуть поддерево:
2
/ \
1 3Решение
BST
Используем имплементацию .
/**
* Definition for a binary tree node.
* 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
}
if root.Val > val {
return searchBST(root.Left, val)
}
return searchBST(root.Right, val)
}