public static void reorderList(ListNode head) {  
		// write your code here
		if (head==null)
			return;
		int n=0;
		ListNode c=head;
		while (c!=null) {
			++n;
			c=c.next;
		}
		ListNode p=null;
		c=head;
		for (int i=0;i<(n+1)/2;++i) {
			p=c;
			c=c.next;
		}
		p=p.next=null;
		while (c!=null) {
			ListNode t=c.next;
			c.next=p;
			p=c;
			c=t;
		}
		c=p;
		p=head;
		while (c!=null) {
			ListNode cn=c.next, pn=p.next;
			p.next=c;
			c.next=pn;
			p=pn;
			c=cn;
		}
	}