*285. Inorder Successor in BST
https://leetcode.com/problems/inorder-successor-in-bst/
solution
# BST下一个, 也就是找到第一个比p大的节点, 即最后一个访问的左节点
# 如果存在右节点,则右子树最左边的节点就是其下一个
# 如果不存在右节点,
class Solution(object):
def inorderSuccessor(self, root, p):
if not root:
return
successor = None
while root:
if root.val > p.val:
successor = root
root = root.left
else:
root = root.right
return successor时间复杂度:O(n) 空间复杂度:O(h)
follow up
Last updated