题目·: 输入一个链表,反转链表后,输出链表的所有元素。
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
//周一 2017-6-19 //
//思路:这都不会做
//健壮性
//先判断链表为空?
//考虑第一个结点。
//
if(pHead==NULL) return NULL;
ListNode *p=pHead;
ListNode *pt=NULL;
if(p->next==NULL) return p;
while(p->next!=NULL)
{
//首结点。
if(p==pHead)
{
p=p->next;
pHead->next=NULL;
}
//不是第一个节点。
else
{
pt=p;
p=p->next;
pt->next=pHead;
pHead=pt;
}
}
pt=p;
p=p->next;
pt->next=pHead;
pHead=pt;
return pHead;
}
};