反轉鍊錶(迭代) 基於python

2021-09-24 21:51:45 字數 720 閱讀 3234

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

反轉鍊錶是面試的基礎題,掌握是很有必要的。

我們採用迭代思想進行鍊錶反轉

首先我們定義三個指標,分別表示前乙個節點pre,當前節點cur,中間節點temp

每次迴圈時使得當前節點指向前一節點,然後節點後移進行下一反轉。

# -*- coding:utf-8 -*-

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

# 返回listnode

def reverselist(self, phead):

if not phead:return none

pre = phead

cur = phead.next

temp = none

while cur:

temp = cur.next # temp記錄下一節點位置

cur.next = pre #當前節點指向前一節點

pre = cur #指標後移

cur = temp #指標後移

phead.next = none #原頭結點指向none

return pre

python 鍊錶反轉

definition of listnode class listnode object def init self,val,next none self.val val self.next next class solution param node n return the new head o...

python 反轉鍊錶

一 迭代實現 思路 將鍊錶的next節點儲存起來 temp cur.next 將鍊錶的next指標指向前乙個節點 cur.next pre 將鍊錶後移 pre cur cur temp 最後呼叫頭 return pre def f head listnode cur head pre none wh...

24 反轉鍊錶 python

題目 定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。def reverse list head if not head or not head.next return head rear head p head.next if p.next none p.next rear...