Добрый день. Уже по-всякому i расставлял, в упор не вижу, где проблема?
public class Solution {
    public static void main(String[] args) {
        ArrayList<String> strings = new ArrayList<String>();
        strings.add("роза");
        strings.add("лоза");
        strings.add("лира");
        strings.add("лира");
        strings.add("лира");
        strings.add("мера");
        strings = fix(strings);

        for (String string : strings) {
            System.out.println(string);
        }
    }

    public static ArrayList<String> fix(ArrayList<String> strings) {
        for (int i=0; i<strings.size();i++){
            if (strings.get(i).contains("р") & !(strings.get(i).contains("л"))){
                strings.remove(i);}
            if (strings.get(i).contains("л") & !strings.get(i).contains("р")){
                strings.add(i,(strings.get(i)));i++;}

        }
        return strings;
    }
}