劍指 反轉鍊錶

2021-09-27 06:03:58 字數 612 閱讀 8678

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

python實現:

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

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

# 返回listnode

def reverselist(self, phead):

# write code here

if phead is none or phead.next is none:

return phead

pre=none

while phead is not none:

tmp = phead.next #當前頭結點的下乙個節點

phead.next = pre #令當前頭節點指向前乙個結點

pre = phead #當前頭節點變為前節點

phead = tmp #下乙個節點成為新的頭節點

return pre

劍指 反轉鍊錶

一 題目 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭 二 題目描述 如鍊表為 1 2 3 4 5 反轉後的鍊錶為 1 2 3 4 5 三 分析過程 第一步 head為當前節點,如果當前節點為空的話,那就什麼也不做,直接返回null 第二步 需要兩個臨時節點來儲存指標移動 第三步 每個節點向後移動一位...

劍指Offer 鍊錶 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。解題思路 演算法流程 複雜度分析 實現 class solution object defreverselist self,head 申請兩個節點,pre和cur,pre最初指向none pre none cur head 遍歷...

劍指offer 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。方法1 將單鏈表儲存為陣列,然後按照陣列的索引逆序進行反轉。方法2 使用三個指標遍歷單鏈表,逐個鏈結點進行反轉。方法3 從第2個節點到第n個節點,依次逐節點插入到第1個節點 head節點 之後,最後將第乙個節點挪到新錶的表尾。public class l...