Files
Hot-100-Algorithm/二叉树/二叉树的层序遍历/main.go

38 lines
593 B
Go
Raw Normal View History

2025-08-26 06:18:10 +08:00
package main
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func main() {
}
func levelOrder(root *TreeNode) [][]int {
if root == nil {
return [][]int{}
}
queue := []*TreeNode{root}
var result [][]int
for len(queue) > 0 {
length := len(queue)
cur := make([]int, length)
for i := 0; i < length; i++ {
node := queue[0]
queue = queue[1:]
cur[i] = node.Val
if node.Left != nil {
queue = append(queue, node.Left)
}
if node.Right != nil {
queue = append(queue, node.Right)
}
}
result = append(result, cur)
}
return result
}