[LeetCode]反转链表

迭代的方法

ListNode* ReverseList2(ListNode* pHead)
{
    ListNode* pNode=pHead;//当前结点
    ListNode* pPrev=NULL;//当前结点的前一个结点
    while(pNode!=NULL)
    {
        ListNode* pNext=pNode->next;
        pNode->next=pPrev;//当前结点指向前一个结点

        pPrev=pNode;//pPrev和pNode往前移动。
        pNode=pNext;//这里要使用前面保存下来的pNext,不能使用pNode->m_pNext
    }
    return pPrev;//返回反转链表头指针。
}
相关文章
相关标签/搜索