题解 | #牛群的重新分组#
牛群的重新分组
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
}