class Solution:
def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:
stack = [] # 创建一个栈来辅助中序遍历
while True:
while root: # 遍历到最左下节点,沿途节点入栈
stack.append(root)
root = root.left
root = stack.pop() # 弹出栈顶节点
k -= 1 # 计数
if k == 0: # 找到第k个最小值
return root.val
root = root.right # 继续遍历右子树
leetcode-二叉树中的第k小的元素
最新推荐文章于 2024-04-28 16:03:45 发布