Skip to content

Commit b254839

Browse files
committed
kth-smallest-element-in-a-bst
1 parent 1cb8871 commit b254839

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* https://leetcode.com/problems/kth-smallest-element-in-a-bst/
3+
* Definition for a binary tree node.
4+
* function TreeNode(val, left, right) {
5+
* this.val = (val===undefined ? 0 : val)
6+
* this.left = (left===undefined ? null : left)
7+
* this.right = (right===undefined ? null : right)
8+
* }
9+
*/
10+
/**
11+
* @param {TreeNode} root
12+
* @param {number} k
13+
* @return {number}
14+
*/
15+
var kthSmallest = function (root, k) {
16+
// ์ค‘์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฐฐ์—ด
17+
const inorder = [];
18+
19+
// ์ค‘์œ„ ์ˆœํšŒ ํ•จ์ˆ˜ ์ •์˜
20+
function traverse(node) {
21+
if (!node) return;
22+
traverse(node.left); // ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ
23+
inorder.push(node.val); // ํ˜„์žฌ ๋…ธ๋“œ ๊ฐ’ ์ถ”๊ฐ€
24+
traverse(node.right); // ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ
25+
}
26+
27+
// ํŠธ๋ฆฌ ์ˆœํšŒ ์‹œ์ž‘
28+
traverse(root);
29+
30+
// k๋ฒˆ์งธ๋กœ ์ž‘์€ ๊ฐ’ ๋ฐ˜ํ™˜ (1-indexed ์ด๋ฏ€๋กœ k-1)
31+
return inorder[k - 1];
32+
};

0 commit comments

Comments
ย (0)