Deepest Leaves Sum
개요
- 이번 포스팅은 파이썬 코딩테스트 연습문제 풀이입니다.
Leetcode
에 공개된 예제이며 링크는 아래와 같습니다.
코드
def deepestLeavesSum(self, root: Optional[TreeNode]) -> int:
from collections import deque
dept = 1
tree = {}
queue = deque()
queue.append((dept, root))
while queue:
current = queue.popleft()
dept = current[0]
root = current[1]
try:
tree[dept].append(root.val)
except:
tree[dept] = [root.val]
if root.left != None:
queue.append((dept+1, root.left))
if root.right != None:
queue.append((dept+1, root.right))
return sum(tree[max(tree)])
마치며
이번 포스팅은 Leetcode
에 존재하는DFS
태크 중 난이도 Medium 에 해당하는 문제입니다.
저는 BFS로 풀었지만 DFS로도 풀이가 가능하기 때문에 태그가 중복된 것 같습니다.