非递归DFS 前序:处理顺序 中->左->右 入栈顺序:右->左 后序:处理顺序 左->右->中 ==> 中->右->左 入栈顺序:左->右 只需在最后再颠倒顺序即可 中序: 要设置一个指针一路指向左孩子直到NULL,用一个栈记录经历了但未处理的节点。 左孩子NULL后,取栈顶元素将值输出,再将该节点右孩子入栈。 注意: 中序循环条件为while(!s.empty() || cur!=NULL) 因为栈空时有可能cur还在一个节点上,还有右孩子