树的非递归遍历_栈
先序遍历
这个过程能总结出规律吗?(栈顶元素如果有左子树,则把左子树入栈,否则退出栈顶节点,并将其右子树入栈)
思路有了,程序写得出来了吧。注意,先序遍历节点入栈之前访问。
中序遍历
后续遍历
后续遍历比较难,涉及到二次入栈,栈里面的节点有标志位,记录是第几次入栈。
想想为什么要两次入栈?(第二次出栈的时候才访问节点)