[leetcode] 206.反转链表
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 206.反转链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你單鏈表的頭節點?head?,請你反轉鏈表,并返回反轉后的鏈表。
示例 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總結
以上是生活随笔為你收集整理的[leetcode] 206.反转链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode] 154.寻找旋转排
- 下一篇: [leetcode] 141.环形链表