static <T extends Comparable<T>> void flip(T[] array, int left, int right) { while (left <= right) { swap(array, left++, right--); } } Change 'left <= right' to 'left < right', can improve efficiency in some cases