We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ceb9227 commit 1499e7dCopy full SHA for 1499e7d
kth-smallest-element-in-a-bst/yyyyyyyyyKim.py
@@ -0,0 +1,34 @@
1
+# Definition for a binary tree node.
2
+# class TreeNode:
3
+# def __init__(self, val=0, left=None, right=None):
4
+# self.val = val
5
+# self.left = left
6
+# self.right = right
7
+class Solution:
8
+ def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:
9
+
10
+ # DFS
11
+ # 시간복잡도 최악 O(n)/ 공간복잡도 O(log n) ~ O(n) (재귀깊이)
12
+ self.count = 0
13
+ self.answer = None
14
15
+ def dfs(node):
16
+ if not node:
17
+ return
18
19
+ # 가장 작은 값부터(왼쪽서브트리) 재귀로 탐색
20
+ dfs(node.left)
21
22
+ self.count += 1
23
24
+ # k번째 작은 값 찾으면 바로 종료하기
25
+ if self.count == k:
26
+ self.answer = node.val
27
28
29
+ # 오른쪽 서브트리 탐색
30
+ dfs(node.right)
31
32
+ dfs(root)
33
34
+ return self.answer
0 commit comments