Python3 反转一个单链表
生活随笔
收集整理的這篇文章主要介紹了
Python3 反转一个单链表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python3 反轉(zhuǎn)一個(gè)單鏈表
反轉(zhuǎn)一個(gè)單鏈表。
示例:
輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL解題:
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = Noneclass Solution:def reverseList(self, head: ListNode) -> ListNode:if head == None:return Nonenew_head = ListNode() # 創(chuàng)建一個(gè)新鏈表的頭節(jié)點(diǎn)old_head = ListNode() # 題意中的head是第一個(gè)數(shù)據(jù)節(jié)點(diǎn),要想用傳統(tǒng)的頭節(jié)點(diǎn),需要自己手動(dòng)創(chuàng)建old_head.next = headp = head #p最開始指向第一個(gè)數(shù)據(jù)節(jié)點(diǎn),然后在每次循環(huán)體后移一個(gè),直到空節(jié)點(diǎn)為止while p!=None:# 原鏈表刪除pold_head.next = p.nextp.next = None# 新鏈表新增pp.next = new_head.next #這一步可以和上面合成一步,但是為了便于觀察new_head.next = p# p繼續(xù)指向原鏈表的下一個(gè)節(jié)點(diǎn)p = old_head.nextreturn new_head.next總結(jié)
以上是生活随笔為你收集整理的Python3 反转一个单链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业邮箱
- 下一篇: Python3 三步爬楼梯问题