【发布时间】:2020-01-24 13:51:32
【问题描述】:
给定二叉搜索树 (BST) 的根节点和一个值。您需要在 BST 中找到该节点的值等于给定值的节点。返回以该节点为根的子树。如果这样的节点不存在,你应该返回NULL。
这是我的代码得到的:
class Solution:
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
if root == None:
return None
elif root.val == val:
return root
elif root.val>val:
root = self.searchBST(root.left,val)
else:
root = self.searchBST(root.right,val)
似乎输出无。 但是如果换行
root = self.searchBST(root.left,val)
与
return self.searchBST(root.left,val)
与 root.right 相同
然后就可以了。 我不太擅长递归,但我们该怎么做
return self.searchBST(root.left,val)
searchBST(..) 不返回 TreeNode,所以我们不必将 treenode 放在变量 root 中吗?
【问题讨论】:
标签: python binary-tree binary-search-tree