

/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @param {number} k
* @return {ListNode}
*/
var rotateRight = function(head, k) {
if(!head) return head;
let curr = head, count = 0;
while(curr) {
count++;
curr = curr.next;
}
k = k % count;
let prev = head;
curr = head;
while(k) {
curr = curr.next;
k--;
}
while(curr.next) {
prev = prev.next;
curr = curr.next;
}
curr.next = head;
head = prev.next;
prev.next = null;
return head;
};