二叉树
1.
2.
思想就是 原来的层次遍历 是自上而下,自左向右的,现在反着来,应该想到栈
原层次遍历代码(借助队列):
3.
用层次遍历解决:需要引入额外的动态计数(last 与 level),last 来记录每一层最右边节点在队列中的下标,当出队 队头(front) 等于last时候,此时可以使 level 加 1, 并改变last的值(下一层最右边的节点 在队列中的下标)
4.
例子:先序和中序确定一棵二叉树
5.
利用完全二叉树的性质:发现一个节点位置为NULL 之后,那么它的后面也一定是NULL
可结合改动的层次遍历来判断(把NULL也存入队列)
6.
递归来做