Skip to content

Commit 7efbae4

Browse files
Jeehay28Jeehay28
authored andcommitted
Add kth-smallest-element-in-a-bst solution in TS
1 parent 5a3482d commit 7efbae4

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+
class TreeNode {
2+
val: number;
3+
left: TreeNode | null;
4+
right: TreeNode | null;
5+
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
6+
this.val = val === undefined ? 0 : val;
7+
this.left = left === undefined ? null : left;
8+
this.right = right === undefined ? null : right;
9+
}
10+
}
11+
12+
// TC: O(n)
13+
// SC: O(n)
14+
function kthSmallest(root: TreeNode | null, k: number): number {
15+
const result: number[] = [];
16+
const dfs = (node: TreeNode | null) => {
17+
if (!node) return;
18+
19+
dfs(node.left);
20+
result.push(node.val);
21+
dfs(node.right);
22+
};
23+
24+
dfs(root);
25+
26+
return result[k - 1];
27+
}

0 commit comments

Comments
 (0)