1161. Maximum Level Sum of a Binary Tree

양성준·2025년 6월 2일

코딩테스트

목록 보기
75/102

문제

https://leetcode.com/problems/maximum-level-sum-of-a-binary-tree/description/

풀이

class Solution {
    int level = 1;
    int answer = 1;
    int max = Integer.MIN_VALUE;
    public int maxLevelSum(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        while(!queue.isEmpty()) {
            int size = queue.size();
            int sum = 0;
            for(int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                sum += node.val;
                if(node.left != null) {
                    queue.add(node.left);
                }
                if(node.right != null) {
                    queue.add(node.right);
                }
            }
            if(max < sum) {
                max = sum;
                answer = level;
            }
            level++;
        }
        return answer;   
    }
}
  • 레벨별로 sum을 구하고, 최대값인지 확인 -> 최대값이라면 answer을 level로 갱신
    • smallest level을 구해야하므로, max <= sum이 아니라 max < sum으로 비교
profile
백엔드 개발자

0개의 댓글