反转链表 IIPython解法
生活随笔
收集整理的這篇文章主要介紹了
反转链表 IIPython解法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給你單鏈表的頭指針 head 和兩個整數(shù) left 和 right ,其中 left <= right 。請你反轉(zhuǎn)從位置 left 到位置 right 的鏈表節(jié)點,返回 反轉(zhuǎn)后的鏈表 。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reverse-linked-list-ii
?
例:
輸入:head = [1,2,3,4,5], left = 2, right = 4 輸出:[1,4,3,2,5]解析:
將節(jié)點存入列表,然后將start到end的節(jié)點進行翻轉(zhuǎn),然后將所有節(jié)點的next重新設(shè)置一下即可。
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution(object):def reverseBetween(self, head, left, right):""":type head: ListNode:type left: int:type right: int:rtype: ListNode"""res = [] # 存放節(jié)點的列表while head: # 將節(jié)點存進列表res.append(head)head = head.nextres[left-1:right] = res[left-1:right][::-1] # 將指定的節(jié)點進行翻轉(zhuǎn)res[len(res)-1].next = None # 最后一個節(jié)點的next指向Nonefor i in range(len(res)-1): # 將每個節(jié)點的next重置一下res[i].next = res[i+1]return res[0] # 返回第一個節(jié)點總結(jié)
以上是生活随笔為你收集整理的反转链表 IIPython解法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国汽车占俄罗斯新车销量近40% 大批车
- 下一篇: 复原 IP 地址Python解法