tree 10

Tree: 110. Balanced Binary Tree

110. Balanced Binary Tree # 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 = rightclass Solution: def isBalanced(self, root: Optional[TreeNode]) -> bool: # 높이 균형 이진 트리는 각 노드의 두 서브 트리의 깊이가 1 이상 차이가 나지 않는 이진 트리입니다. # height-balanced tree: 높이 균형 이진 트리는, ..

Tree: 543. Diameter of Binary Tree ★

543. Diameter of Binary Tree 트리의 Diameter 즉, 지름을 구하려면,어떤 노드를 기준으로, 좌측 최장 길이+오른쪽 최장 길이..꼭. 이 노드가 root 가 아닐 수도 있음: The path does not necessarily have to pass through the root.위 의 경우, 노드 3을 기준으로, 왼쪽 2, 오른쪽 2... 그래서 diameter 는 2+2=4 임 따라서,전역 변수 max_length 만들고, 모든 노드를 탐색하면서, 왼쪽+오른쪽 길이, 즉, max_lengh를 계속 업데이트 해야함. 모든 노드 탐색시, dfs,,,로 # Definition for a binary tree node.# class TreeNode:# def __init_..

Tree: 124. Binary Tree Maximum Path Sum

124. Binary Tree Maximum Path Sum 문제가 요구하는 것Binary Tree Maximum Path Sum:트리에서 경로의 최대 합을 구하는 문제입니다."경로"는 트리의 어떤 노드에서 시작하여 하위 노드를 따라가거나, 중간에서 멈출 수 있으며, 반드시 루트를 거칠 필요는 없습니다.경로의 합은 경로에 있는 노드 값들의 합으로 계산됩니다."최대 합"은 가능한 경로들 중 가장 큰 합입니다.Mutable(변경 가능) 객체 와 Immutable(변경 불가능) 객체파이썬에서 mutable(변경 가능) 객체와 immutable(변경 불가능) 객체는 객체의 성질에 따라 구분됩니다. 아래는 각각의 주요 예시를 정리한 표입니다.1. Mutable(변경 가능) 객체특징:객체를 생성한 후 내부 데이터를..

Tree: 104. Maximum Depth of Binary Tree

104. Maximum Depth of Binary Tree https://youtu.be/meKRO8w6KT8?si=dDC-xWB8fOBdng6_ 1. 스텍을 이용: 깊이 우선 탐색 할때 주로 스텍을 사용스텍에, [(노드값, 깊이), ...] 이런식으로 추가스텍 팝 하고.. 그 자식노드를 스텍에 추가.. 하는 식으로..time: O(n)space: O(n) ```# 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```cla..