LeetCode-Golang之【102. 二叉树的层序遍历】
2020-12-07 本文已影响0人
StevenChu1125
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
题解
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func levelOrder(root *TreeNode) [][]int {
var levels [][]int
if root == nil {
return levels
}
var queue []*TreeNode
queue = append(queue,root)
for len(queue) > 0 {
var level []int
n :=len(queue)
for i:=0;i<n;i++{
node :=queue[0]
queue = queue[1:]
level = append(level,node.Val)
if node.Left != nil {
queue = append(queue,node.Left)
}
if node.Right != nil {
queue = append(queue,node.Right)
}
}
levels = append(levels,level)
}
return levels
}