package com.javarush.task.task07.task0716;
import java.util.ArrayList;
/*
Р или Л
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<String>();
list.add("роза"); // 0
list.add("лоза"); // 1
list.add("лира"); // 2
list = fix(list);
for (String s : list) {
System.out.println(s);
}
}
public static ArrayList<String> fix(ArrayList<String> list) {
for (int i = list.size() - 1; i >= 0; i--){
String str = list.get(i);
if (str.contains("р")) {
list.remove(i);
}
if (str.contains("л")) {
list.add(i, str);
}
}
return list;
}
}
Pavlo Hnatenko
20 уровень
Почему этот код сработал, если здесь нет проверки на одновременное наличие "р" и "л"?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
5 марта 2019, 21:06
Прикинь пошагово, что происходит, если в слове есть обе буквы
0
Pavlo Hnatenko
6 марта 2019, 18:33
мы сначала удаляем, но потом создаем дубль и тем самым возвращаем слово в список - я правильно понял? и, таким образом, получается, что мы "ничего не сделали", так как баланс был восстановлен:)
+3