230. Kth Smallest Element in a BST
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def kthSmallest(self, root: Optional[TreeNode], k: int) -> int:
# 왼->현->오른쪽..으로 리스트업하면. 즉 inorder 순회 전체 나오고 거기에서.. k번째 찾으면 됨
res = []
def dfs(node):
if not node: # 노드 없으면
return # 그냥 끝내고
if node.left:
dfs(node.left)
res.append(node.val)
if node.right:
dfs(node.right)
dfs(root)
return res[k-1] # 0이 1번째 이므로, k번째는 index가 k-1 임
'LeetCode > 주제별 보충' 카테고리의 다른 글
Graphs: 200. Number of Islands (0) | 2024.12.16 |
---|---|
Tree: 98. Validate Binary Search Tree (0) | 2024.12.15 |
Tree: 124. Binary Tree Maximum Path Sum (0) | 2024.12.14 |
105. Construct Binary Tree from Preorder and Inorder Traversal (0) | 2024.12.11 |
DFS: 100. Same Tree (0) | 2024.12.11 |