[leetcode] 206.反转链表
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 206.反转链表
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給你單鏈表的頭節(jié)點(diǎn)?head?,請(qǐng)你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。
示例 1:
輸入:head = [1,2,3,4,5] 輸出:[5,4,3,2,1]示例 2:
輸入:head = [1,2] 輸出:[2,1]示例 3:
輸入:head = [] 輸出:[]1.暴力解法
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution:def reverseList(self, head: ListNode) -> ListNode:pre = Nonecur = headwhile cur!=None:tmp = cur.nextcur.next = prepre = curcur = tmpreturn pre?2.遞歸解法
class Solution:def reverseList(self, head: ListNode) -> ListNode:if head == None or head.next == None:return headnewHead = self.reverseList(head.next)head.next.next = headhead.next = Nonereturn newHead總結(jié)
以上是生活随笔為你收集整理的[leetcode] 206.反转链表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [leetcode] 154.寻找旋转排
- 下一篇: [leetcode] 141.环形链表