单链表反转的方法 如果只是打印内容可以用 栈 和递归
主要思路:用3个工作指针,一个为pre ,一个为cur,一个为next 保证链表不会断裂。
ListNode* ReverseList(ListNode* pHead)
{
ListNode* pReversedHead = NULL;
ListNode* pCur = pHead;
ListNode* pPrev = NULL;
while (pCur != NULL)
{
ListNode* pNext = pCur ->m_pNext;
if (pNext == NULL)
pReversedHead = pCur ;
pCur ->m_pNext = pPrev;
pPrev = pCur ;
pCur = pNext;
}
return pReversedHead;
}