@@ -0,0 +1,1005 @@
+/**%0A * Definition for singly-linked list.%0A * public class ListNode %7B%0A *     int val;%0A *     ListNode next;%0A *     ListNode(int x) %7B val = x; %7D%0A * %7D%0A */%0Apublic class Solution %7B%0A    public ListNode reverseKGroup(ListNode head, int k) %7B%0A        ListNode ret = new ListNode(0);%0A        ListNode next = ret;%0A        while(head != null) %7B%0A            ListNode tmp = reverseLink(head, k);%0A            if(tmp == null) %7B%0A                next.next = head;%0A                break;%0A            %7D%0A            next.next = tmp;%0A            for(int i=0; i%3Ck; i++) %7B%0A                next = next.next;%0A                head = head.next;%0A            %7D%0A        %7D%0A        return ret.next;%0A    %7D%0A    %0A    private ListNode reverseLink(ListNode head, int k) %7B%0A        ListNode ret = null;%0A        while(head != null && k %3E 0) %7B%0A            ListNode tmp = new ListNode(head.val);%0A            tmp.next = ret;%0A            ret = tmp;%0A            head = head.next;%0A            k--;%0A        %7D%0A        return k == 0 ? ret : null;%0A    %7D%0A%7D%0A

Create Reverse_Nodes_in_k-Group.java