leetcode 700. 二叉搜尋樹中的搜尋(python)
阿新 • • 發佈:2018-11-07
給定二叉搜尋樹(BST)的根節點和一個值。 你需要在BST中找到節點值等於給定值的節點。 返回以該節點為根的子樹。 如果節點不存在,則返回 NULL。
例如,
給定二叉搜尋樹: 4 / \ 2 7 / \ 1 3 和值: 2
你應該返回如下子樹:
2 / \ 1 3
在上述示例中,如果要找的值是 5
,但因為沒有節點值為 5
,我們應該返回 NULL
。
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def searchBST(self, root, val): """ :type root: TreeNode :type val: int :rtype: TreeNode """ if not root: return None elif root.val == val: return root elif root.val > val: return self.searchBST(root.left, val) else: return self.searchBST(root.right, val)