/*
非递归实现后序遍历算法。
void post{
node *p, *r;
stack s;
while(p || s.size()) {
if(p) {
s.push(p);
r = p;
p = p->l
} else { // 只有当根节点的右子树为空或者右子树刚被访问完,根节点才能被访问。
p = s.top();
if(r != p->r && p->r) { // 有右子树且没有访问
r = p;
p = p->r;
} else { // 已经访问完所有子树
s.pop();
visit(p);
r = p;
p = null; // 为了防止当前子树访问结束后,父节点又嵌套执行if语句。
}
}
}
}
*/