解题方法
使用一个队列把各个节点的值先存进去,然后利用一个p的头结点和q个临时节点重新构造单链表。
C++ 代码
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* p=NULL;
queue<int> v;
while(head)
{
v.push(head->val);
head = head->next;
}
while(v.size())
{
ListNode* q = new ListNode(v.front());
v.pop();
q->next=p;
p=q;
}
return p;
}
};