不能改变链表本身结构,后进先出符合栈的特性。
typedef struct ListNode
{
int value;
ListNode *pNext;
}ListNode;
void list_reserve(ListNode *pHead)
{
stack<ListNode> nodes;
ListNode *pNode=pHead;
while(pNode!=NULL)
{
nodes.push_back(pNode);
}
while(!nodes.empty())
{
pNode=nodes.top();
printf("%d\t",pNode->value);
nodes.pop();
}
}