class Solution:
def reverseKGroup(self , head , k ):
Phead = ListNode(None)
p = Phead
while True:
count = k
stack = []
tmp = head
while count != 0 and tmp != None:
stack.append(tmp)
tmp = tmp.next
count -= 1
#跳出上面循环的时候,tmp是第k+1的元素来
#如果上面循环结束的时候,count还不为0,那就代表不足k个元素
if count != 0:
p.next = head
break
#对k个元素进行反转
while stack:
p.next = stack.pop()
p = p.next
#与剩下链表链接起来
p.next = tmp
head = tmp
return Phead.next