u
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package top100liked
|
||||
|
||||
// https://leetcode.cn/problems/binary-tree-level-order-traversal/?envType=study-plan-v2&envId=top-100-liked
|
||||
|
||||
type TreeNode struct {
|
||||
Val int
|
||||
Left *TreeNode
|
||||
Right *TreeNode
|
||||
}
|
||||
|
||||
func levelOrder(root *TreeNode) [][]int {
|
||||
if root == nil {
|
||||
return [][]int{}
|
||||
}
|
||||
|
||||
queue := []*TreeNode{root}
|
||||
res := [][]int{}
|
||||
for len(queue) > 0 {
|
||||
currentLayerRes := []int{}
|
||||
tmpQueue := []*TreeNode{}
|
||||
for i := range queue {
|
||||
currentNode := queue[i]
|
||||
currentLayerRes = append(currentLayerRes, currentNode.Val)
|
||||
if currentNode.Left != nil {
|
||||
tmpQueue = append(tmpQueue, currentNode.Left)
|
||||
}
|
||||
if currentNode.Right != nil {
|
||||
tmpQueue = append(tmpQueue, currentNode.Right)
|
||||
}
|
||||
}
|
||||
queue = tmpQueue
|
||||
res = append(res, currentLayerRes)
|
||||
}
|
||||
return res
|
||||
}
|
||||
Reference in New Issue
Block a user