Skip to content

Commit 87038e3

Browse files
committed
solve Kth Smallest Element in a BST solution
1 parent 28b9159 commit 87038e3

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* [Problem]: [230] Kth Smallest Element in a BST
3+
* (https://leetcode.com/problems/kth-smallest-element-in-a-bst/description/)
4+
*/
5+
6+
class TreeNode {
7+
val: number;
8+
left: TreeNode | null;
9+
right: TreeNode | null;
10+
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
11+
this.val = val === undefined ? 0 : val;
12+
this.left = left === undefined ? null : left;
13+
this.right = right === undefined ? null : right;
14+
}
15+
}
16+
17+
function kthSmallest(root: TreeNode | null, k: number): number {
18+
//시간복잡도 O(n)
19+
//공간복잡도 O(n)
20+
function inOrderFunc(root: TreeNode | null, k: number): number {
21+
const values: number[] = [];
22+
23+
function dfs(node: TreeNode | null) {
24+
if (!node) return;
25+
dfs(node.left);
26+
values.push(node.val);
27+
dfs(node.right);
28+
}
29+
30+
dfs(root);
31+
32+
return values[k - 1];
33+
}
34+
}

0 commit comments

Comments
 (0)