package q61 type ListNode struct { Val int Next *ListNode } func rotateRight(head *ListNode, k int) *ListNode { if head == nil { return nil } n := 1 p := head for p.Next != nil { p = p.Next n++ } tail := p k %= n if k == 0 { return head } tail.Next = head p = head for range n - k - 1 { p = p.Next } newHead := p.Next p.Next = nil return newHead } var _ = rotateRight