C++ 栈的遍历

思路: 将链表的指针push栈中,然后一个个将栈顶的元素pop出来,实现链表的反转。

void flip_in_stack(ListNode* head)
{
stack flip_stack;
// 将链表的指针压入堆栈
head = head->next;
while (head)
{
flip_stack.push(head);
head = head->next;
}
while (!flip_stack.empty())
{
head = flip_stack.top();
cout << head->data<< “<-”;
flip_stack.pop();
}
}

你可能感兴趣的:(c++)