파비의 매일매일 공부기록

Today's Challenge 본문

Problem Solving/LeetCode

Today's Challenge

fabichoi 2022. 5. 15. 23:45

https://leetcode.com/problems/deepest-leaves-sum/

 

Deepest Leaves Sum - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

같은 level의 트리의 합을 구하는 문제다.
어떻게 접근할지 감이 안 와서 다른 사람이 푼 걸 보고 제출한 다음,
다 지우고 기억나는 대로 다시 작성해서 제출하기를 3번 했다.
Deque를 이용했기에 BFS로 푸는 방식이라고 볼 수 있다.

class Solution:
    def deepestLeavesSum(self, root: Optional[TreeNode]) -> int:
        if not root:
            return 0
        
        qu = deque([root])
        
        while qu:
            s, l = 0, len(qu)
            for _ in range(l):
                node = qu.popleft()
                s += node.val
                
                if node.left:
                    qu.append(node.left)
                if node.right:
                    qu.append(node.right)
                
        return s
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

Today's Challenge  (0) 2022.05.17
Today's Challenge  (0) 2022.05.16
Today's Challenge  (0) 2022.05.14
Today's Challenge  (0) 2022.05.13
Today's Challenge  (0) 2022.05.12
Comments