Подходът ти е добър, но има лека неточност, която трябва да оправиш. Накратко, щом намериш дадена буква, търсенето трябва да продължи от това място(индекса на току-що намерената буква), а не да се започва от началото на стринга. Подобна логика трябва да се има предвид и впоследствие при премахването на буквите от основния стринг.
Например, представи си, че примерът беше такъв:
pheshoishere (има едно допълнително ‘h’ в началото)
1
eho
Търсим “eho” в phЕsHOishere и очакваме да останем с phsishere. Пробвай го и дебъгни защо се получава така (h и s ще бъдат разменени вероятно).