【LeetCode】反轉(zhuǎn)鏈表

題目描述:

反轉(zhuǎn)一個(gè)單鏈表。

示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL

解題思路1:

最簡(jiǎn)單的方法當(dāng)然是使用棧來(lái)存儲(chǔ)鏈表上的一個(gè)個(gè)節(jié)點(diǎn),再出棧將節(jié)點(diǎn)連接起來(lái)即可;

代碼1:

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if(!head)
            return nullptr;
        stack<ListNode *> tempStack;
        ListNode * res;
        while(head)
        {
            tempStack.push(head);
            head = head->next;
        }
        res = tempStack.top();
        tempStack.pop();
        ListNode *p = res;
        while(!tempStack.empty())
        {
            p->next = tempStack.top();
            tempStack.pop();
            p=p->next;
        }
        p->next = nullptr;
        return res;
    }
};

解題思路2: 迭代

遍歷鏈表,將當(dāng)前節(jié)點(diǎn)的next指向前一個(gè)元素,但要注意用一個(gè)臨時(shí)節(jié)點(diǎn)保存當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn);

代碼2:

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode * prev = nullptr;
        ListNode * curr = head;
        while(curr)
        {
            ListNode * nextTemp = curr->next;
            curr->next = prev;
            prev = curr;
            curr = nextTemp;
        }
        return prev;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目描述 解題思路 要讓1指向null,接著2指向1,3指向2,依次得到結(jié)果。定義cur節(jié)點(diǎn)指向鏈表的第一個(gè)節(jié)點(diǎn),...
    dreamintime閱讀 572評(píng)論 0 0
  • 代碼GitHub地址 鏈表概述 數(shù)組和鏈表都是線性存儲(chǔ)結(jié)構(gòu)的基礎(chǔ)實(shí)現(xiàn),棧和隊(duì)列都是線性存儲(chǔ)結(jié)構(gòu)的應(yīng)用 數(shù)組優(yōu)缺點(diǎn) ...
    HikariCP閱讀 1,586評(píng)論 0 0
  • 反轉(zhuǎn)一個(gè)單鏈表。 示例: 進(jìn)階:你可以迭代或遞歸地反轉(zhuǎn)鏈表。你能否用兩種方法解決這道題? 代碼
    8239e604d437閱讀 218評(píng)論 0 0
  • 搞懂單鏈表常見(jiàn)面試題 Hello 繼上次的 搞懂基本排序算法,這個(gè)一星期,我總結(jié)了,我所學(xué)習(xí)和思考的單鏈表基礎(chǔ)知識(shí)...
    醒著的碼者閱讀 4,732評(píng)論 1 45
  • 時(shí)光如箭,歲月如梭,轉(zhuǎn)眼到了12月底了,2017年就這么匆匆結(jié)束了,感覺(jué)很多的事情都沒(méi)來(lái)得及做,時(shí)間就這么溜走了。...
    冉冉2019閱讀 19,574評(píng)論 0 1

友情鏈接更多精彩內(nèi)容