有连续的三个节点,
在第二个还不为空的时候,第三个节点指向第二个节点的next,
第二个节点指向第一个,第一个第二个节点都向后在后移一位。
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
if(pHead == NULL)
return NULL;
ListNode *p1,*p2,*p3;
p1=pHead;
p2=pHead->next;
while(p2 != NULL){
p3 = p2->next;
p2->next = p1;
p1 = p2;
p2 = p3;
}
pHead->next = NULL;
pHead = p1;
return pHead;
}
};