劍指 Offer 24 反轉鍊錶

2021-10-21 01:51:59 字數 492 閱讀 8671

鍊錶–>快慢指標,但是這題的快慢指標有點難理解奧?就理解成普通雙指標也行。

主要就是理清楚反轉節點的步驟。

把需要反轉的節點的下乙個節點儲存起來

反轉當前節點,指向它的前節點(用pre儲存著)

更新pre為反轉了的那個節點,因為反轉了的那個節點是下乙個待反轉節點的前節點

cur指向本次該反轉的節點

重複以上操作,直到待反轉節點為空,此時pre,也就是待反轉節點的前節點就是新鍊錶的頭節點

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

//cur 走到null了,那麼pre在cur前一位,也就是新鍊錶的頭節點

return pre;

}}

劍指Offer 24 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。例 輸入 1 2 3 4 5 none 輸出 5 4 3 2 1 none 雙指標遍歷鍊錶,將當前節點的next設為前乙個節點。注意儲存當前節點的next來遍歷。時間複雜度 o n 空間複雜度 o 1 def reverse l...

劍指offer24 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。樣例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null思路 初始化乙個新的頭節點new head,然後用尾插法把原始鍊錶中的結點插入新的頭節點。最後return new head next.acwing 3...

劍指offer24 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出轉換後的頭結點。首先,從題目中可得知為單鏈表結構,只有指向下乙個元素的指標。而要完成整個鍊錶的反轉則需要將所有next指標進行反轉。定義3個指標,分別指向當前遍歷的節點 它的前乙個節點以及後乙個節點。pnode ppre pre pnode phe...