反轉(zhuǎn)鏈表

image.png

這個題是面試中的常考題,在作業(yè)幫的面試中也遇到了,面試官要求手寫代碼。

首先要記住的是:要有三個指針, 分別是prev,cur,temp。
prev指針來記錄前一個節(jié)點,cur是當前的指針,temp中存儲的是當前節(jié)點的下一個節(jié)點,然后將cur中的next指向prev,然后cur和prev前進一步。直到尾端。

一個要點:如果當前是空鏈表,則返回空鏈表。所以將prev初始化為none,最后也返回prev

# -*- 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
        prev = None
        cur = pHead
        while cur:
            temp = cur.next
            cur.next = prev
            prev = cur
            cur = temp
        return prev
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 過程 迭代過程中需要三個指針: p用來指向當前待處理的結點 lastp 指向上一個處理完的結點,初始為空。這樣的話...
    熊白白閱讀 438評論 0 0
  • 206. 反轉(zhuǎn)鏈表 描述 反轉(zhuǎn)一個單鏈表。 進階 鏈表可以迭代或遞歸地反轉(zhuǎn)。你能否兩個都實現(xiàn)一遍? 思路 迭代版本...
    GoMomi閱讀 1,314評論 0 0
  • 題目:輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出鏈表的所有元素。 方法一 遞歸 一般情況下反轉(zhuǎn)的問題利用遞歸代碼寫起來是比較簡...
    qming_c閱讀 151評論 0 0
  • 題目:輸入一個鏈表,反轉(zhuǎn)鏈表后,輸出鏈表的所有元素。 思路1:用列表保存鏈表中的所有元素,然后將其進行反轉(zhuǎn),新建鏈...
    minningl閱讀 268評論 0 0
  • 題目鏈接:面試題16 反轉(zhuǎn)鏈表 我的思路 反轉(zhuǎn)鏈表的基本思路就是把指向后驅(qū)的指針指向前驅(qū) 如果把指針的指向改變,無...
    賈雨村甄士隱閱讀 449評論 0 0

友情鏈接更多精彩內(nèi)容