天天看点

链表--逆置/反转单链表

ListNode* Reverse(ListNode* pHead)
{
     ListNode* pNewHead = NULL;
     ListNode* pPre = NULL;
     ListNode* pCur = pHead;

     while(pCur != NULL)
     {
          ListNode* pNext = pCur->Next;
          //这里一定要判断pNext是否为空
          if(pNext == NULL)
               pNewHead = pCur;
          pCur->Next = pPre;
          pPre = pCur;
          pCur = pNext;
     }
     return pNewHead;
}
           

继续阅读