题目:定义一个函数 输入一个链表的头结点 翻转该链表并输出翻转后链表的头结点 链表定义如下
struct ListNode
{
int m_nValue;
ListNode *m_pNext;
}
ListNode*reserve(ListNode *Lhead)
{
if(Lhead==NULL)
{
throw std::exception("Error ~!");
return NULL;
}
if(Lhead->m_pNext==NULL)
return Lhead;//只有一个结点~~
ListNode *p=Lhead->m_pNext;
ListNode *s=Lhead;
ListNode *t=Lhead;
s->m_pNext=NULL;
while (t!=NULL)
{
t=p->m_pNext;
p->m_pNext=s;
s=p;
p=t;
}
return p;
}