In-order traverse the BST until collected K elements.
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def kthSmallest(self, root: TreeNode, k: int) -> int:
def inorder(node):
if node:
yield from inorder(node.left)
yield node.val
yield from inorder(node.right)
gen = inorder(root)
return [next(gen) for _ in range(k)][-1]
Edited on 06/06/2021. Update the inorder traversal approach.
No comments:
Post a Comment