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]
- code
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
def rec(root):
if root:
if root.val == val: return root
elif root.val < val: return rec(root.right)
return rec(root.left)
return rec(root)
- code
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
while root:
if root.val == val:
return root
elif root.val < val:
root = root.right
else:
root = root.left
return None