1 | 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 |
在java中使用双端队列,可以从头或者尾部取出或者加入元素,从而实现从前往后和从后往前遍历
1 | /** |
使用一个空节点作为每一层遍历结束的标志
1 | /** |
时间复杂度和空间复杂度都是O(N)
深度优先遍历方式
1 | /** |
时间复杂度O(N),空间复杂度O(H),其中H是树的高度,包含N个节点的二叉树的高度大约为log(N)(以2为底)
参考文献
1 | 作者:LeetCode |