Было нелегко:)
Итак, как я это понимаю - код работает, только если мы добавляем слово на букву л в начало списка. Потому что i итерируется дважды, верно? Один раз в
for (int i = 0; i < list.size(); i++)
, а второй раз, когда добавляем элемент list.add(0,list.get(i));
i++;
. Таким образом, мы обойдем повторяющиеся элементы и начнем итерацию с нового. Это так?
По мне, это очень сложная логика. А если я хочу добавить элемент в конец списка? Если написать list.add(list.get(i));
i++;
на выход будет лоза, лира, вода, лоза, лоза, так как лоза будет повторятся. У кого-то есть идеи как реализовать без добавления слова в начало списка?