题目描述:
输入一个链表,反转链表后,输出链表的所有元素。
//根据栈的先进后出,将链表元素入栈,出栈。
class Solution {
public:
ListNode* ReverseList(ListNode* phead) {
if(phead == NULL || phead->next == NULL)
return phead;
ListNode* p = phead;
stack<ListNode*> arr;
while(p->next != NULL)
{
arr.push(p);
p = p->next;
}
ListNode* head = p;
while(!arr.empty())
{
p->next = arr.top();
p = p->next;
arr.pop();
}
p->next = NULL;
return head;
}
};