算法

[LeetCode OJ]- Binary Tree Zigz

2017-03-24  本文已影响0人  其中一个cc

题目要求:求一颗二叉树的有底向上的zigzag层次遍历,返回遍历结果。zigzag就是先从左往右,再从右往左;如此循环,直到便利到树的最底层。

二叉树

返回结果

思路:使用队列,从根开始,每一层的节点都入队,然后对每层中出现的节点挨个出队,出队时,把出队的节点保存到一个list中,然后在每层的入队出队操作完成后,将list保存到结果中。

特殊情况就是根节点为空时,返回值为[]

这个题目跟Binary Tree Inorder TraversalBinary Tree Inorder TraversalII的区别就在于每一层返回结果的顺序,可以借助一个布尔型变量控制从左向右还是从右向左来处理。

代码如下

运行结果为:

上一篇下一篇

猜你喜欢

热点阅读