Binary Tree遍历

题目列表

  • pre-order
  • in-order
  • post-order

问题描述

有三种解法

  • recursive
  • iterative用stack
  • Morris解法,不用stack,非递归,O(1)的空间(这个需要理解一下)

我们知道正常的遍历时间复杂度是O(n).空间复杂度是递归栈(或者自己维护的栈)的大小O(logn)

有的时候这不能满足面试官,就要用到moriss的方法,这种方法不需要栈来维护,所以只需要O(1)的空间

真实面经

有人被问到如果用O(1)的空间复杂度进行层遍历,我们已经知道了O(1)的pre-order, in-order, post-order的,对moriss的方法再进行改编一下

Reference