美文网首页
LeetCode 25 k个一组翻转链表 Reverse Nod

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

作者: 划水型派大星 | 来源:发表于2019-05-07 18:41 被阅读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

    相关文章

      网友评论

          本文标题:LeetCode 25 k个一组翻转链表 Reverse Nod

          本文链接:https://www.haomeiwen.com/subject/ssiyoqtx.html