@@ -0,0 +1,1589 @@
+/**%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 */%0Aclass Solution %7B%0A    public void reorderList(ListNode head) %7B%0A        %0A        if(head==null %7C%7C head.next == null %7C%7C head.next.next == null)%7B%0A            return;%0A        %7D%0A    %0A        ListNode slowPointerPrev =null;%0A        ListNode slowPointer = head;%0A        ListNode fastPointer = head;%0A        %0A        while(fastPointer!=null && fastPointer.next!=null)%7B%0A            slowPointerPrev = slowPointer;%0A            slowPointer= slowPointer.next;%0A            fastPointer = fastPointer.next.next;%0A        %7D%0A        %0A        slowPointerPrev.next = null;%0A        slowPointer = reverseList(slowPointer);%0A        fastPointer = head;%0A        %0A        while(fastPointer!=null && slowPointer!=null)%7B%0A            ListNode temp1 = fastPointer.next;%0A            ListNode temp2 = slowPointer.next;%0A            %0A            fastPointer.next = slowPointer;%0A            slowPointer.next = temp1==null? slowPointer.next : temp1 ;%0A            fastPointer = temp1;%0A            slowPointer = temp2;%0A        %7D%0A        %0A        %0A        %0A    %7D%0A    %0A   %0A    %0A    %0A    %0A    public ListNode reverseList(ListNode head)%7B%0A        %0A        if(head==null %7C%7C head.next==null)%7B%0A            return null;%0A        %7D%0A        ListNode p = null,c = head,n = head.next;%0A        %0A        while(n!=null)%7B%0A            %0A            c.next = p;%0A            p = c;%0A            c = n;%0A            n = n.next;%0A        %7D%0A        %0A        c.next = p;%0A        %0A        return c;%0A    %7D%0A%7D%0A

add Reorder List solution - leetcode