1161. Maximum Level Sum of a 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 = right
class Solution:
def maxLevelSum(self, root: Optional[TreeNode]) -> int:
if not root:
return
level = 1
max_level = 1
max_sum = -float("inf")
que = deque([root])
while que:
level_size = len(que)
level_sum = 0
for _ in range(level_size):
node = que.popleft()
level_sum += node.val
if node.left:
que.append(node.left)
if node.right:
que.append(node.right)
if level_sum > max_sum: # 해당 레벨 탐색 끝나면,
max_sum = level_sum
max_level = level
level +=1
return max_level
https://youtu.be/V1pCQo1BiVo?si=yBK28ajIyc61bpwA
'LeetCode > LeetCode75' 카테고리의 다른 글
| [LeetCode 75] Medium - 1466. Reorder Routes to Make All Paths Lead to the City Zero (0) | 2024.11.18 |
|---|---|
| [LeetCode 75] Medium - 841. Keys and Rooms (0) | 2024.11.18 |
| [LeetCode 75] Medium - 437. Path Sum III (0) | 2024.11.17 |
| [LeetCode 75] Medium - 1372. Longest ZigZag Path in a Binary Tree (0) | 2024.11.17 |
| [LeetCode 75] Easy - 872. Leaf-Similar Trees (0) | 2024.11.15 |