private static ListNode interleaveLists (ListNode x, ListNode y) {//AC
    	ListNode dummy = new ListNode(0);
    	ListNode tail = dummy;
    	while (x != null && y != null) {
    		tail.next = x;
    		tail = x;
    		x = x.next;
    		tail.next = y;
    		tail = y;
    		y = y.next;
    	}
    	if (x == null) {
    		tail.next = y;
    	}
    	else {
    		tail.next = x;
    	}
    	return dummy.next;
    }