如何打印二叉树的外框。
如果我们编写三个不同的函数来打印左节点、叶子节点和右节点,那么可以很容易地解决,但它需要O(n+2logn)的时间。
我也在寻找一种O(n)的方法,但条件是每个节点只被访问一次,不想要这额外的O(2logn)部分。
- the order is top to down, left to right, then down to top
- print all leftest node and rightest nodes
- print all leaf nodes
print all nodes which only have 1 leaf
100 / \ 50 150 / \ / 24 57 130 / \ \ \ 12 30 60 132
如果我们编写三个不同的函数来打印左节点、叶子节点和右节点,那么可以很容易地解决,但它需要O(n+2logn)的时间。
我也在寻找一种O(n)的方法,但条件是每个节点只被访问一次,不想要这额外的O(2logn)部分。
O(n+2logn)
等同于O(n)
。 - interjay