劍指offerQ15 反轉鍊錶

2021-10-02 20:37:38 字數 704 閱讀 5897

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭

也就是說 先設定兩個指標,分別記錄當前節點的前乙個和 當前節點的後乙個

在每次迴圈時,next指標記錄當前的下乙個位址

head指標反指指向pre,實現反轉鍊錶

之後pre指向當前指標,head指向下乙個指標

當head為空時,pre指向鍊錶的最後乙個,輸出pre

class

solution

:# 返回listnode

defreverselist

(self, phead)

:# write code here

if phead ==

none

:return

none

next

=none

pre =

none

while phead!=

none

:next

= phead.

next

phead.

next

= pre

pre = phead

phead =

next

return pre

劍指15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。為了反轉乙個鍊錶,需要調整鍊錶中指標的方向。當調整節點 i 的指標指向時,需要知道節點 i 本身,還需要知道 i 的前乙個節點 h,因為我們需要把節點 i 的指標指向節點 h 同時,我們還需要提前儲存 i 原來的下乙個節點 j 以防止鍊錶斷開。因此,需要3...

15 劍指offer 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。分析 1 2 3 4 5 1 2 3 4 5 而且這個題難在沒有頭節點 第一種方法是 非遞迴方法 struct listnode class solution return preversehead 第二種方法是 遞迴方法 struct listnode ...

15 反轉鍊錶(劍指offer)

15.反轉鍊錶 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。1.思路 這裡可以採用輔助指標的方式來進行歷求解,以下面的鍊錶為例具體分析如下 1 首先我們需要定義三個指標,分別指向當前結點 cur 前一結點 prev 後一節點 next 2 然後開始從前往後進行遍歷,在遍歷的過程中對指標進行反轉 第...