public static void postOrder(Node root)
{
Stack<Node> s = new Stack<>();
Node cur = root; //记录当前访问节点
Node flag = null; //记录刚刚访问完的节点
while(cur!=null)
{
s.push(cur);
cur = cur.left;
}
while(!s.isEmpty())
{
cur = s.pop();
if(cur.right==null||cur.right==flag)
{
int val = cur.val;
flag = cur; //当前节点已经全部访问完成
}else
{
s.push(cur);
cur=cur.right;
while(cur!=null)
{
s.push(cur);
cur=cur.left;
}
}
}
}
树的后序遍历非递归实现
最新推荐文章于 2021-12-27 16:33:11 发布