[LeetCode] 310. Minimum Height Trees [Python(파이썬)]
'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (최소 높이 트리) 노드 개수와 무방향 그래프를 입력받아 트리가 최소 높이가 되는 루트의 목록을 리턴하라. Input: n = 4, edges = [[1,0],[1,2],[1,3]] Output: [1] Input: n = 6, edges = [[3,0],[3,1],[3,2],[3,4],[5,4]] Output: [3,4] 2. 풀이 노드가 2개 이하가 될때까지 리프 노드를 순차적으로 제거한다 3. 코드 class Solution: def findMinHeightTrees(self, n: int, edges: List[List[int]]) -> List[int]: if n == 1: return [0] graph =..
2021. 11. 24.
[LeetCode] 108. Convert Sorted Array to Binary Search Tree [Python(파이썬)]
'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (정렬된 배열의 이진 탐색 트리 변환) 오름차순으로 정렬된 배열을 높이 균형(Height Balanced) 이진 탐색 트리로 변환하라. Input: nums = [-10,-3,0,5,9] Output: [0,-3,9,-10,null,5] or [0,-10,5,null,-3,null,9] 2. 풀이 재귀탐색을 이용한 풀이 3. 코드 # 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 = righ..
2021. 11. 24.