Skip to content

Commit f8b36a3

Browse files
committed
fixing kth smallest node in BST
1 parent 629d35a commit f8b36a3

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

tree/bst/kth_smallest.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
class Node:
2+
3+
def __init__(self, val, left=None, right=None):
4+
self.val = val
5+
self.left = left
6+
self.right = right
17

28

39
def kth_smallest(root, k):
410
stack = []
5-
while root and stack:
11+
while root or stack:
612
while root:
713
stack.append(root)
814
root = root.left
@@ -32,3 +38,17 @@ def helper(self, node, count):
3238
self.helper(node.left, count)
3339
count.append(node.val)
3440
self.helper(node.right, count)
41+
42+
if __name__ == '__main__':
43+
n1 = Node(100)
44+
n2 = Node(50)
45+
n3 = Node(150)
46+
n4 = Node(25)
47+
n5 = Node(75)
48+
n6 = Node(125)
49+
n7 = Node(175)
50+
n1.left, n1.right = n2, n3
51+
n2.left, n2.right = n4, n5
52+
n3.left, n3.right = n6, n7
53+
print(kth_smallest(n1, 2))
54+
print(Solution().kthSmallest(n1, 2))

0 commit comments

Comments
 (0)