Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
For example:
Given binary tree {3,9,20,#,#,15,7},
3
/ \
9 20
/ \
15 7
return its zigzag level order traversal as:
[
[3],
[20,9],
[15,7]
]
confused what "{1,#,2,3}" means? > read more on how binary tree is serialized on OJ.
Subscribe to see which companies asked this question
Show Tags
Show Similar Problems
问题分析:关于二叉树的问题,一看是关于广度优先遍历,所以一般会想到用队列,但是本文使用栈来进行实现,因为是偶数行从左到右,奇数行从右到左,所以根据栈先进后出的特点,存放偶数行的栈要先放入右节点再放左节点。
AC代码(c++)