😎풀이

  1. 너비 우선 탐색을 수행하며 해당 계층에 존재하는 요소의 평균을 구함
  2. 각 계층의 평균 값이 담긴 배열 반환
function averageOfLevels(root: TreeNode | null): number[] {
    const average = []
    const queue = [[root]]
    while(queue.length) {
        const queueNodes = queue.shift()
        const nextNodes = []
        let curSum = 0
        for(const currNode of queueNodes) {
            curSum += currNode.val
            if(currNode.left) nextNodes.push(currNode.left)
            if(currNode.right) nextNodes.push(currNode.right)
        }
        average.push(curSum / queueNodes.length)
        if(nextNodes.length) queue.push(nextNodes)
    }
    return average
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글