изпробывал 3 варианта решения, устроил последний. Код меньше и подходит для выбора разных слов. пробовал прощитать каждое слово одельно, кода работает. Но в едином цикле, не могу понять как среагировать на сдвигание списка при удалении строки. Хееелп!
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 = 0; i < list.size();) {

           char[] first = list.get(i).toCharArray();

           for (int j = 0; j < first.length; j++) {

               if (first[j] == 'р') {
                   list.remove(i);
               } else if (first[j] == 'л') {
                   list.add("first");
                   list.add(list.get(i));
               } else if ((first[j] == 'р') && (first[j] == 'л'))
                   break;
           }
           break;
       }
       return list;
   }
}