Задайте себе вопрос: - Чему нас тут хотят научить? Моя версия - нас хотят научить более глубоко понимать процесс перебора циклом for списка с изменяющейся на ходу длиной. В такой ситуации в каждом цикле надо делать не просто i++ в конце цикла , а вместо этого i = i + 1 + a - b где а - количество добавленных в этом цикле элементов b - количество удаленных в этом цикле элементов Я вижу даже больше возможностей, но они выходят за пределы условий задачи.