Skip to content

Commit 79de0bc

Browse files
committed
kth-smallest-element-in-a-bst solution
1 parent eda20ca commit 79de0bc

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
8+
"""
9+
TC: O(n) in worst case
10+
SC: O(n) in worst case
11+
"""
12+
class Solution:
13+
def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:
14+
n = 0
15+
stack = []
16+
current_node = root
17+
18+
while current_node or stack:
19+
while current_node:
20+
stack.append(current_node)
21+
current_node = current_node.left
22+
23+
current_node = stack.pop()
24+
n += 1
25+
if n == k:
26+
return current_node.val
27+
current_node = current_node.right

0 commit comments

Comments
 (0)