Skip to content

429. N 叉树的层序遍历 #89

Open
@Geekhyt

Description

@Geekhyt

原题链接

队列 bfs

使用队列进行广度优先遍历,level 数组存放当前层级的值,处理完一层后推入结果数组 result。

const levelOrder = function(root) {
  if (root == null) return []
  const result = []
  const queue = [root] 
  
  while (queue.length > 0) {
    const levelSize = queue.length
    const level = [] 
    for (let i = 0; i < levelSize; i++) { 
      const head = queue.shift()
      for (const child of head.children) {
        queue.push(child)
      }
      level.push(head.val) 
    }
    result.push(level)
  }
  return result
}
  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions