//下面使用循环加栈实现二叉树的遍历
void preOrderIterator(TreeNode* r)
{
if(r)
{
Stack s;
initStack(&s);
while (r||!isStackEmpty(&s))
{
while (r)
{
//压栈
printf("%d ",r->data);
push(&s,r);
r = r->left;
}
//出栈
r = pop(&s);
r = r->right;
}
}
}
二叉树的先序遍历(循环+栈)
最新推荐文章于 2023-02-15 19:48:04 发布