问题描述
Reverse a singly linked list.
问题分析
链表反转问题。从第二个节点开始,不断把next节点加到head前面。
代码
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* p = head;
ListNode* q = 0;
if(head==0) return 0;
while(p->next) {
q = p->next;
p->next = q->next;
q->next = head;
head = q;
}
return head;
}
};