обратный порядок элементов в списке - PullRequest
0 голосов
/ 19 сентября 2019

В: Для заданного списка поменяйте порядок его элементов (не используйте коллекции)

Вот мое решение:

public static <T> void reverse(List<T> list) {
    if (list.size() > 0) {
        T t;
        t = list.get(0);
        list.remove(0);
        reverse(list);
        list.add(t);
    }
}

Работает, как и ожидалось, но яхотите знать, является ли этот рекурсивный метод эффективным способом обращения к списку

1 Ответ

0 голосов
/ 19 сентября 2019

Перевернуть список на месте:

public static <T> void reverse(List<T> list) {
    int a =0, b = list.size()-1;
    while ( a < b ) {
        T a_val = list.get(a);
        list.set( a, list.get(b) );
        list.set( b, a_val );
        a++;
        b--;
    }
}
...