Не пойму в чем проблема. Неправильно работает только если самые длинные были первые две строки. В остальных случаях работает. Но не пойму причины
...
for (int i = 1; i < strings.size(); i++) {
...