链表反转

2017-05-05  本文已影响9人  宇文黎琴

需要注意的点

ListNode* reverseLinkedList(ListNode* pHead)
{
    ListNode* pPrev = NULL;
    ListNode* pNode = pHead;
    ListNode* pNext = NULL;

    while(pNode)
    {
        pNext = pNode->next;
        pNode->next = pPrev;

        pPrev = pNode;
        pNode = pNext;
    }

    return pPrev;
}

递归的方法做

ListNode* reverseLinkedList(ListNode* pHead)
{
    if (pHead == NULL || pHead->next == NULL)
    {
        return pHead;
    }
    else
    {
        ListNode* pNewHead = reverseLinkedList(pHead);
        pNewHead->next = pHead;
        pHead->next = NULL;
        return pHead;
    }
}
上一篇下一篇

猜你喜欢

热点阅读