2013-05-01 2 views
0

Заполните метод reverseValues, которому передается массив значений int (значений) в качестве параметра. Метод возвращает ints (значения) с порядком обратных чисел.Как изменить массив Int?

Например, если массив вход {3, 7, 2, 4}

метод возвращает {4,2,7,3}

Пример: reverseValues ​​({3 , 7, 2, 4}) должен вернуться {4,2,7,3}

Не могу найти помощь, которая показывает, как это сделать, не видя массив перед рукой.

+0

Просто подумайте о проблеме как 'array.length/2' number swaps ... –

ответ

-1

Вы пробовали, глядя на то, чтобы преобразовать массив в список, а затем вызвать:

public ArrayList<String> reverse(ArrayList<String> list) { 
    ArrayList<String> result = new ArrayList<String>(list.size()); 

    for(int i=list.size()-1;i>=0;i--) { 
     result.add(list.get(i)); 
    }  

    return result; 
} 

Что-то, как это должно работать. Может быть, не самый быстрый, но он изменит список.

+0

Где вы находите этот метод? – Keppil

+0

Ах, извините, я слишком долго использовал Groovy! Я обновлю свой пост. –

+0

Я склонен думать, что этот подход немного тяжел для такой простой задачи. Но путь, ближайший к вашему первоначальному подходу, был бы массивом # asList и Collections # reverse. – Aurand

2
for(int i =0; i < array.length/2; i++){ 
    int temp = array[i]; 
    array[i] = array[array.length-1 - i]; 
    array[array.length-1 - i] = temp; 
} 
+0

Бьюсь об заклад, вы могли бы сделать это на месте. –

+1

Вы имеете в виду временную переменную? этот обмен должен быть установлен на месте за вычетом одной переменной. – munch1324

+0

Я неправильно читаю код, и да, вы правы, переменная temp просто прекрасна. +1 –

Смежные вопросы