给你一个链表的头节点
head,旋转链表,将链表每个节点向右移动k**个位置。
输入: head = [1,2,3,4,5], k = 2
输出: [4,5,1,2,3]
第一种解法
func rotateRight(head *ListNode, k int) *ListNode {
if head == nil || k == 0 {
return head
}
n, p := 1, head
for p.Next != nil {
p = p.Next
n++
}
p.Next = head
k %= n
for i := 1; i <= n-k; i++ {
p = p.Next
}
head, p.Next = p.Next, nil
return head
}