JZ59 按之字形顺序打印二叉树

描述

给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)
例如:
给定的二叉树是{1,2,3,#,#,4,5}

该二叉树之字形层序遍历的结果是
[
[1],
[3,2],
[4,5]
]

示例1

输入:
{1,2,3,#,#,4,5}
返回值:
[[1],[3,2],[4,5]]

示例2

输入:
{8,6,10,5,7,9,11}
返回值:
[[8],[10,6],[5,7,9,11]]

示例3

输入:
{1,2,3,4,5}
返回值:
[[1],[3,2],[4,5]

=====================================================================================================================

解题思路:
我的解题思路是用堆栈进行操作,分为奇数行和偶数行,奇数行的话先进入左孩子,再进入右孩子。偶数行的话先进入右孩子再进入左孩子,这样子做虽然达到了目的,但是比较复杂,刚刚查看解析发现了一种更简单的做法,利用队列来做,
然后再list里面对偶数行进行反转就行,属实比我想的简单很多。
posted @ 2021-08-20 18:12  好的好的,  阅读(51)  评论(0编辑  收藏  举报