/** * A LinkedList based solution for Rotating a List to the right by k places */ function main () { /* Problem Statement: Given a linked list, rotate the list to the right by k places, where k is non-negative. Note: * While Solving the problem in given link below, don't use main() function. * Just use only the code inside main() function. * The purpose of using main() function here is to avoid global variables. Link for the Problem: https://leetcode.com/problems/rotate-list/ */ // Reference to both head and k is given in the problem. So please ignore below two lines let head = '' let k = '' let i = 0 let current = head while (current) { i++ current = current.next } k %= i current = head let prev = null while (k--) { if (!current || !current.next) { return current } else { while (current.next) { prev = current current = current.next } prev.next = current.next current.next = head head = current } } return head } main()