《劍指Offer》-24.反轉(zhuǎn)鏈表

題干

定義一個函數(shù),輸入一個鏈表的圖節(jié)點,反轉(zhuǎn)該鏈表并輸出反轉(zhuǎn)后鏈表的頭節(jié)點。鏈表節(jié)點定義如下:

class ListNode {
    int val;
    ListNode next;
}

解題思路

為了防止節(jié)點反轉(zhuǎn)的過程中出現(xiàn)鏈表斷裂的情況出現(xiàn),需要使用一個指針記錄節(jié)點的下一個節(jié)點

為了完成當前節(jié)點的反轉(zhuǎn),還需要記錄節(jié)點的上一個節(jié)點

因此需要三個指針來完成一個節(jié)點的反轉(zhuǎn),對鏈表的所有節(jié)點進行這樣的操作就完成了鏈表的反轉(zhuǎn)

代碼實現(xiàn)

<?php

class ListNode
{
    private $val;
    private $next;

    public function __set($name, $value)
    {
        $this->$name = $value;
    }

    public function __get($name)
    {
        return $this->$name;
    }
}

$node1 = new ListNode();
$node1->val = 1;
$node2 = new ListNode();
$node2->val = 2;
$node1->next = $node2;
$node3 = new ListNode();
$node3->val = 3;
$node2->next = $node3;
$node4 = new ListNode();
$node4->val = 4;
$node3->next = $node4;
$node5 = new ListNode();
$node5->val = 5;
$node4->next = $node5;


function reverseList($head)
{
    $prev = null;
    $node = $head;
    $reverseHead = null;
    while (!empty($node)) {
        $next = $node->next;
        if (empty($next)) {
            $reverseHead = $node;
        }

        $node->next = $prev;
        $prev = $node;
        $node = $next;
    }

    return $reverseHead;
}

var_dump(reverseList(null));
var_dump(reverseList($node1));
var_dump(reverseList($node5));
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 搞懂單鏈表常見面試題 Hello 繼上次的 搞懂基本排序算法,這個一星期,我總結(jié)了,我所學習和思考的單鏈表基礎(chǔ)知識...
    醒著的碼者閱讀 4,729評論 1 45
  • 前言 2. 實現(xiàn) Singleton 3. 數(shù)組中重復的數(shù)字 4. 二維數(shù)組中的查找 5. 替換空格 6. 從尾到...
    Observer_____閱讀 3,152評論 0 1
  • 鏈表 記錄《劍指offer》中所有關(guān)于鏈表的題目,以及LeetCode中的相似題目 相關(guān)題目列表 題目 鏈表是面試...
    wenmingxing閱讀 1,236評論 0 11
  • 看到了嗎? 那是你在喝水, 掃地 臉色臭的象屎 你在看電視 洗衣服 閱讀 孩子在哪里呢? 是呀,你沒有孩子。 也沒...
    視覺影像閱讀 179評論 0 0
  • 文/種花家兔子先生 “人世原來有人世的大書,我卻連第一行文字還讀不懂呢。” 《自在獨行》的第五章,賈平凹先生開始寫...
    種花家兔子先生閱讀 886評論 2 3

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