private ListNode reverseLinkedList(ListNode start, ListNode end) {
		if (start == end) {
			return end;
		}
		ListNode prevTail = reverseLinkedList(start.next, end);
		prevTail.next = start;
		start.next = null;
		return start;
	}