题解 | #求二叉树的层序遍历# | Golang
求二叉树的层序遍历
https://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3
package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型二维数组 */ func levelOrder( root *TreeNode ) [][]int { ans := [][]int{} if root == nil { return ans } queue := []*TreeNode{} queue = append(queue, root) for len(queue)!=0 { n := len(queue) item := []int{} for ; n >= 1; n-- { f := queue[0] item = append(item, f.Val) if f.Left != nil { queue = append(queue, f.Left) } if f.Right != nil { queue = append(queue, f.Right) } queue = queue[1:] } ans = append(ans, item) } return ans }