题解 | #牛群的重新分组#
牛群的重新分组
https://www.nowcoder.com/practice/267c0deb9a6a41e4bdeb1b2addc64c93
package main import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param k int整型 * @return ListNode类 */ func reverseKGroup( head *ListNode ,k int ) *ListNode { // write code here dummy :=&ListNode{0,head} pre :=dummy cur :=pre.Next for pre.Next!=nil{ n :=0 temp :=cur for temp!=nil{ n++ temp=temp.Next } if n<k{ break } for i:=0;i<k-1;i++{ next :=cur.Next cur.Next=next.Next next.Next=pre.Next pre.Next=next } a :=k for a>0{ pre=pre.Next a-- } cur=cur.Next } return dummy.Next }