# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# @param head, a ListNode
# @param k, an integer
# @return a ListNode
def reverseKGroup(self, head, k):
guard = ListNode(0)
guard.next = head
p = guard
while p!=None:
p = reverseGroup(p,k)
return guard.next
def reverseGroup(pre,k):
if pre.next==None or pre.next.next==None: return None
count=1
i=pre.next
j=pre.next.next
while count<k and j!=None:
t = j
j=j.next
t.next=i
i=t
count+=1
if j==None and count<k:
while j!=i.next:
t = i
i = i.next
t.next=j
j = t
return None
ret = pre.next
ret.next=j
pre.next = i
return ret
leetcode Reverse Nodes in k-Group
最新推荐文章于 2022-05-23 04:03:01 发布