剑指 Offer 32 - III. 从上到下打印二叉树 III
和力扣 103. 二叉树的锯齿形层序遍历一致
//2,bfs常规解func levelOrder(root *TreeNode) [][]int {if root == nil {return nil}levels := [][]int{}queue := []*TreeNode{root}for len(queue) > 0 {n := len(queue)level_tmp := []int{}for i := 0; i < n; i++ {root = queue[0]queue = queue[1 :]level_tmp = append(level_tmp, root.Val)if root.Left != nil {queue = append(queue, root.Left)}if root.Right != nil {queue = append(queue, root.Right)}}k := len(level_tmp)if len(levels) % 2 == 1 { //说明levels是层数【】外数组,level是内数组【】for i := 0; i < k / 2; i++ {level_tmp[i], level_tmp[k - 1 - i] = level_tmp[k - 1 - i], level_tmp[i]}}levels = append(levels, level_tmp)}return levels}
