코딩테스트

[다시풀기/릿코드] 1161. Maximum Level Sum of a Binary Tree

_서리__ 2023. 6. 15. 22:10
var maxLevelSum = function(root) {
    let levelArr = bfs(root);
    let max = levelArr[0]
    let maxIdx =0;
    for(let i=0;i<levelArr.length;i++){
        if(levelArr[i]>max){
            max = levelArr[i]
            maxIdx = i
        }
    }
    return maxIdx+1
};

var bfs=(root,levelArr=[])=>{
    let queue = [root];
    let sum = 0;
    while(queue.length){
        let level = queue.length;
        while(level){
        let node = queue.shift();
        sum+=node.val
        if(node.left) queue.push(node.left)
        if(node.right) queue.push(node.right)
        level--;
        }
        levelArr.push(sum);
        sum=0;
    }
    return levelArr;
}