void PostOrder(Node *node)
{
node *cur = NULL;
node *pre = NULL;
stack<node *> s;
s.push(node);
while (!s.empty())
{
cur = s.top();
if ((cur->left == NULL && cur->right == NULL)
|| (!pre && (pre == cur->left || pre == cur->right)))
{
visit(cur->value);
s.pop();
pre = cur;
}
else
{
if (cur->left)
{
s.push(cur->left);
}
if (cur->right)
{
s.push(cur->right);
}
}
}
}
后序遍历的非递归实现
最新推荐文章于 2023-10-31 16:13:42 发布