В идее добавляю слова,которые не содержат ни л, ни р и ничего не удваивается(
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) {
int remove = 0;
for (int i = 0; i < list.size(); ) {
if (list.get(i).contains("р") && list.get(i).contains("л")) {
i++;
} else if (!list.get(i).contains("р") && !list.get(i).contains("л")) {
i++;
} else if (list.get(i).contains("р") && !list.get(i).contains("л")) {
list.remove(i);
i = 0;
} else if (list.get(i).contains("л") && !list.get(i).contains("р")) {
list.add(i, list.get(i));
i += 2;
}
}
return list;
}
}
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) {
int remove = 0;
for (int i = 0; i < list.size(); ) {
if (list.get(i).contains("р") && list.get(i).contains("л")) {
i++;
} else if (!list.get(i).contains("р") && !list.get(i).contains("л")) {
i++;
} else if (list.get(i).contains("р") && !list.get(i).contains("л")) {
list.remove(i);
i = 0;
} else if (list.get(i).contains("л") && !list.get(i).contains("р")) {
list.add(i, list.get(i));
i += 2;
}
}
return list;
}
}
int remove = 0;- нигде не используется. В цикле for у вас первые два условия лишние.