如何以螺旋顺序迭代树?

时间:2010-05-14 01:34:53

标签: data-structures

           1 
      2              3
  4       5        6       7
8  9   10   11   12 13   14  15   

螺旋顺序的输出应该是 1 3 2 4 5 6 7 15 14 13 12 11 10 9 8

2 个答案:

答案 0 :(得分:2)

考虑如何遍历根节点和第一级。

你能为这种行为编写一个函数,并以递归方式调用它吗?

答案 1 :(得分:1)

这实际上是广度优先搜索的变体。广度优先搜索使用队列来获取下一级别的节点列表。队列是FIFO(先进先出)。如果您在每个级别反转顺序,您将获得此效果,因此您需要一个LIFO(后进先出),否则称为堆栈。