牛客網劍指offer反轉鍊錶 python實現

2021-09-29 12:40:25 字數 939 閱讀 7102

1.首先看一下鍊錶的資料結構:

鍊錶由節點構成,每個節點包含兩個部分,第一部分是資料,第二部分是鏈結資料的儲存位置資訊。如:第乙個節點儲存了資料「1」,第二部分儲存了後面乙個資料「2」的儲存位置資訊。最後乙個節點是none。

2.python實現鍊錶反**

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

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

def reverselist(self, phead):

# write code here

if not phead or not phead.next:

return phead

while phead:

phead.next=next_head #更新當前節點指向的下一節點位置

next_head=phead #將當前節點的資料區儲存資訊儲存到next_head

phead=temp #更新當前節點的位置資訊

return next_head

3.圖示解析:

(1)第一次迴圈:

(2)第二次迴圈:

(3)第三次迴圈:

牛客網 反轉鍊錶

題目 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。這個題目中,head頭結點就存放了元素。思路 public class listnode public class solution listnode pre null listnode next while head null return pr...

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...