Javascript-программа для проверки того, являются ли строки вращением друг друга или нет | Набор 2

Опубликовано: 2 Сентября, 2022

Имея две строки s1 и s2, проверьте, является ли s2 вращением строки s1.
Примеры:

Input : ABACD, CDABA
Output : True

Input : GEEKS, EKSGE
Output : True

В предыдущем посте мы обсуждали подход, который обрабатывает совпадение подстроки как шаблон. В этом посте мы будем использовать конструкцию lps алгоритма KMP (самый длинный правильный префикс, который также является суффиксом), который поможет найти самое длинное совпадение префикса строки b и суффикса строки a. По которой мы будем знать точку вращения , с этой точки сопоставляются символы. Если все символы совпадают, то это ротация, иначе нет.
Ниже приведена базовая реализация описанного выше подхода.

Выход:

1

Временная сложность: O(n)
Вспомогательное пространство: O(n)

Пожалуйста, обратитесь к полной статье о проверке того, являются ли строки вращением друг друга или нет | Набор 2 для более подробной информации!