
😎풀이
- BFS를 통한 각 Depth 접근
- 각 Depth에서 가장 큰 값 갱신
- Leaf Node를 순회할 수 있도록 Queue에 추가
- 각 Row에서 가장 큰 값을
largest에 추가
- 모든 Row에서 가장 큰 값을 모은 배열
largest 반환
function largestValues(root: TreeNode | null): number[] {
if(!root) return []
const queue: TreeNode[] = [root]
const largest = []
while(queue.length) {
const rowLen = queue.length
let rowLargest = -Infinity
for(let i = 0; i < rowLen; i++) {
const node = queue.shift()
rowLargest = Math.max(rowLargest, node.val)
if(node.left) queue.push(node.left)
if(node.right) queue.push(node.right)
}
largest.push(rowLargest)
}
return largest
};