class Solution:
def rotateRight(self, head: ListNode, k: int) -> ListNode:
if not head or not head.next or k == 0:
return head
_len = 1
headNew = head
while head.next:
head = head.next
_len += 1
head.next = headNew
k = _len-k % _len-1
while k:
headNew = headNew.next
k -= 1
ans = headNew.next
headNew.next = None
return ans
func rotateRight(head *ListNode, k int) *ListNode {
if head == nil || head.Next == nil || k == 0 {
return head
}
_len := 1
headNew := head
for head.Next != nil {
head = head.Next
_len++
}
head.Next = headNew
k = _len - k%_len - 1
for k != 0 {
headNew = headNew.Next
k--
}
ans := headNew.Next
headNew.Next = nil
return ans
}