# 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 reverse(self, start, end):
newhead=ListNode(0)
newhead.next=start
while newhead.next!=end:
tmp=start.next
start.next=tmp.next
tmp.next=newhead.next
newhead.next=tmp
return [end, start]
def reverseKGroup(self, head, k):
if head is None:
return None
nhead=ListNode(0); nhead.next=head; start=nhead
while start.next:
end=start
for i in range(k-1):
end=end.next
if end.next==None: return nhead.next
res=self.reverse(start.next, end.next)
start.next=res[0]
start=res[1]
return nhead.next
07-20
07-20
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交