Skip to content

Commit af07ac3

Browse files
committed
Kth Smallest Element in a Bst
1 parent e56eacb commit af07ac3

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* @description
3+
* time complexity: O(N)
4+
* space complexity: O(N)
5+
*
6+
* brainstorming:
7+
* 1. BFS, DFS
8+
* 2. Brute force
9+
*
10+
* strategy:
11+
* inOrder search
12+
*
13+
* reason:
14+
* tree features
15+
*/
16+
var kthSmallest = function (root, k) {
17+
let answer = 0;
18+
19+
inOrder(root, (value) => {
20+
k -= 1;
21+
if (k > 0) return false;
22+
if (k === 0) answer = value;
23+
return true;
24+
});
25+
26+
return answer;
27+
};
28+
29+
function inOrder(tree, isEnd) {
30+
if (tree.left) inOrder(tree.left, isEnd);
31+
if (isEnd(tree.val)) return;
32+
if (tree.right) inOrder(tree.right, isEnd);
33+
}

0 commit comments

Comments
 (0)