添加新题目
This commit is contained in:
37
二叉树/二叉树的层序遍历/main.go
Normal file
37
二叉树/二叉树的层序遍历/main.go
Normal file
@@ -0,0 +1,37 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user