python 链表的反转
生活随笔
收集整理的這篇文章主要介紹了
python 链表的反转
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 反轉(zhuǎn)鏈表
給你單鏈表的頭節(jié)點(diǎn) head ,請(qǐng)你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。
輸入:head = [1,2,3,4,5]
輸出:[5,4,3,2,1]
輸入:head = [1,2]
輸出:[2,1]
示例 3:
輸入:head = []
輸出:[]
| 題解
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution:"""解題思路:1.新建一個(gè)頭指針2.遍歷head鏈表,依次在新的頭節(jié)點(diǎn)位置插入,達(dá)到反轉(zhuǎn)的效果"""def reverseList(self, head: ListNode) -> ListNode:# 循環(huán)new_head = Nonewhile head:per = head.next # pre 為后置節(jié)點(diǎn),及當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)head.next = new_head # 插入頭節(jié)點(diǎn)元素new_head = head # 把串起來(lái)的鏈表賦值給頭指針head = per # 向后移一個(gè)單位return new_head # 返回一個(gè)新的鏈表總結(jié)
以上是生活随笔為你收集整理的python 链表的反转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 合并两个排序的链表
- 下一篇: python 回文链表