반응형 트리13 [LeetCode] 226. Invert Binary Tree [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 트리 반전) 중앙을 기준으로 트리를 반전하라. 2. 풀이 python의 특징을 이용한 풀이 BFS를 이용한 풀이 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 = right class Solution: def invertTree(self, root: TreeNode) -> TreeNode: # Python # if root: # root.left, root.right =.. 2021. 11. 24. [LeetCode] 543. Diameter of Binary Tree [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 트리의 직경) 이진 트리에서 두 노드 간 가장 긴 경로의 길이를 출력하라. 예를 들어, 위와 같은 트리는 4-2-1-3 or 5-2-1-3 으로 답은 3이다. 2. 풀이 DFS를 이용한 풀이 중첩 함수에서 숫자나 문자와 같은 불변 객체를 재할당하면 참조ID가 변경되므로 클래스 변수를 사용해야 한다! 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 = right class .. 2021. 11. 24. [LeetCode] 104. Maximum Depth of Binary Tree [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (이진 트리의 최대 깊이) 이진 트리의 최대 깊이를 구하라. 2. 풀이 BFS를 이용한 풀이 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 = right class Solution: def maxDepth(self, root: TreeNode) -> int: if root is None: return 0 q = collections.deque([root]) depth = 0 w.. 2021. 11. 24. [LeetCode] 110. Balanced Binary Tree [Python(파이썬)] '파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀 문제 👉 1. 문제 (균형 이진 트리) 이진 트리가 높이 균형(Height-Balanced)인지 판단하라. 높이 균형은 모든 노드의 서브 트리 간의 높이 차이가 1 이하인 것을 마한다. 2. 풀이 재귀탐색을 이용한 풀이 3. 코드 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Codec: def serialize(self, root): """Encodes a tree to a single string. :type root: TreeNo.. 2021. 11. 24. 이전 1 2 다음 반응형