@@ -0,0 +1,1235 @@
+package leetcode.rotate_list;%0A%0Aimport common.ListNode;%0A%0Apublic class Solution %7B%0A    public ListNode rotateRight(ListNode head, int n) %7B%0A    %09if(head == null) return head;%0A    %09int length = 0;%0A    %09ListNode cur = head;%0A    %09ListNode tail = null;%0A    %09while(cur != null)%7B%0A    %09%09length++;%0A    %09%09tail = cur;%0A    %09%09cur = cur.next;%0A    %09%7D%0A    %09int shift = (length - (n %25 length)) %25 length;%0A    %09ListNode nHead = head;%0A    %09ListNode prev = null;%0A    %09while(shift %3E 0)%7B%0A    %09%09prev = nHead;%0A    %09%09nHead = nHead.next;%0A    %09%09shift--;%0A    %09%7D%0A    %09if(prev != null)%7B%0A    %09%09 tail.next = head;%0A    %09%09 prev.next = null;%0A    %09%09 head = nHead;%0A    %09%7D%0A    %09return head;%0A    %7D%0A    %0A    public static void dump(ListNode cur)%7B%0A    %09while(cur != null)%7B%0A    %09%09System.err.print(cur.val + %22-%3E%22);%0A    %09%09cur = cur.next;%0A    %09%7D%0A    %09System.err.println(%22null%22);%0A    %7D%0A    %0A    public static void main(String args%5B%5D)%7B%0A    %09final int N = 1;%0A    %09dump(new Solution().rotateRight(null, 10));%0A    %09for(int shift = 0; shift %3C 12; shift++)%7B%0A    %09%09ListNode%5B%5D list = new ListNode%5BN%5D;%0A    %09%09for(int i = 0; i %3C N; i++)%7B%0A    %09%09%09list%5Bi%5D = new ListNode(i);%0A    %09%09%09if(i %3E 0) list%5Bi - 1%5D.next = list%5Bi%5D;%0A    %09%09%7D%0A    %09%09dump(new Solution().rotateRight(list%5B0%5D, shift));%0A    %09%7D%0A    %7D%0A%7D%0A

Add java solution for 61. Rotate List