LeetCode 25 k个一组翻转链表 Reverse Nod

2019-05-07  本文已影响0人  划水型派大星

有关链表的LeetCode做题笔记合集,Python实现

链表定义

# Definition for singly-linked list.
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None

25. k个一组翻转链表 Reverse Nodes in k-Group

LeetCodeCN 第25题链接

利用数组来实现k个一组的翻转,然后重新连接成链表

class Solution:
    def reverseKGroup(self, head: ListNode, k: int) -> ListNode:
        arr, i = [], 0
        if not head:
            return None
        while head:
            arr.append(head)
            head = head.next
        while i <= len(arr) - k:
            arr[i:i+k] = arr[i:i+k][::-1]
            i += k
        for j in range(len(arr) - 1):
            arr[j].next = arr[j+1]
        if arr:
            arr[-1].next = None
            return arr[0]

下一题:206. 反转链表 Reverse Linked List

上一篇下一篇

猜你喜欢

热点阅读