/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
struct ListNode* ReverseList(struct ListNode* pHead ) {
// write code here
if(pHead == NULL || pHead->next == NULL)
return pHead;
struct ListNode* tmp = pHead;
struct ListNode* tmp1 = pHead->next;
struct ListNode* tmppre = pHead;
if(pHead->next->next ==NULL)
{
tmp = pHead->next;
pHead->next->next = pHead;
pHead->next = NULL;
return tmp;
}
tmppre->next = NULL;
while(tmp1)
{
tmp = tmp1;
tmp1 = tmp1->next;
tmp->next = tmppre;
tmppre = tmp;
}
return tmp;
}