题解 | #链表中的节点每k个一组翻转#
链表中的节点每k个一组翻转
https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e
class Solution: def reverseKGroup(self , head: ListNode, k: int) -> ListNode: # write code here #加表头 if head==None: return head res=ListNode(-1) res.next=head pre=res cur=pre.next cnt=0 #查看长度 p=head len=0 while p: p=p.next len=len+1 while cur.next: cnt=cnt+1 if cnt==len-len%k or len < k: break #计算需要反转的区间 if cnt % k == 0: #重置头节点 pre=cur cur=cur.next else: #对temp以pre为头节点进行头插法 temp=cur.next cur.next=temp.next temp.next=pre.next pre.next=temp return res.next