Question | Answer |
Given a list, rotate the list to the right by k places, where k is non-negative. | public ListNode rotateRight(ListNode head, int k) { if(head==null || head.next==null) return head; ListNode dummy = new ListNode(0); dummy.next = head; ListNode fast = dummy; ListNode slow = dummy; int count = 0; while(fast.next != null){ fast = fast.next; count++; } for(int i = count - k % count; i>0; i--){ slow = slow.next; } fast.next = dummy.next; dummy.next = slow.next; slow.next = null; return dummy.next; } |
There are no comments, be the first and leave one below:
Want to create your own Flashcards for free with GoConqr? Learn more.