Другу моему был задан следующий вопрос сегодня в интервью для должности разработчика программного обеспечения:
Учитывая две строки s1 и s2, как вы проверите, является ли s1 версией s2 < 
Пример:
Если s1 = "stackoverflow", то некоторые из его повернутых версий:
"tackoverflows"
"ackoverflowst"
"overflowstack"
где "stackoverflwo"  не развернутая версия.
Ответ, который он дал, был: 
Возьмите
s2и найдите самый длинный префикс, который является подстрокойs1, которая даст вам точку поворота. Как только вы найдете эту точку, сломайтеs2в этой точке, чтобы получитьs2aиs2b, а затем просто проверьте, еслиconcatenate(s2a,s2b) == s1
Это похоже на хорошее решение для меня и моего друга. Но интервьюер думал иначе. Он попросил более простое решение. Пожалуйста, помогите мне, сообщив, как вы это сделаете в Java/C/C++?
Спасибо заранее.
