700. Search in a Binary Search Tree
700. Search in a Binary Search Tree
给定二叉搜索树(BST)的根节点和一个值。你需要在BST中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,就返回NULL。
例如
给定二叉搜索树:
4
/ \
2 7
/ \
1 3
和值:2
你应该返回如下子树:
2
/ \
1 3
在上述示例中,如果要找的值是5,但因为没有节点值为5,我们应该返回NULL。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def searchBST(self, root, val):
"""700. Search in a binary search tree
:type root: TreeNode
:type val: int
:rtyoe: TreeNode
"""
current_node = root
while current_node != None:
if current_node.val == val:
return current_node
elif current_node.val < val:
current_node = current_node.right
else:
current_node = current_node.left
return None