Валидация выдаёт "Программа работала слишком долго и была закрыта!". Сам код рабочий - тестировал.
public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader bis = new BufferedReader(new InputStreamReader(System.in));

        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 z=0;

        for (int i=0;i<list.size()-z;)
        {   String s=list.get(i);
            int x=0, y=0;

                if (s.indexOf("р")!=-1) x++;
                if (s.indexOf("л")!=-1) y++;

            if (x!=0 && y==0) {list.remove(i);}
            if (x==0 && y!=0) {list.add(i+1,list.get(i)); z++; i+=2;}
            if (x==0 && y==0) i++;

        }
        return list;
    }
}