用于检查字符串是否相互旋转的 Javascript 程序 |设置 2
给定两个字符串s1 和 s2,检查 s2 是否是 s1 的旋转。
例子:
Input : ABACD, CDABA
Output : True
Input : GEEKS, EKSGE
Output : True
我们在之前的文章中讨论了一种将子字符串匹配作为模式处理的方法。在这篇文章中,我们将使用KMP 算法的 lps (最长专有前缀,也是后缀)构造,这将有助于找到字符串b 的前缀和字符串a 的后缀的最长匹配。通过它我们将知道旋转点,从这个点匹配字符。如果所有字符都匹配,那么它是一个旋转,否则不是。
下面是上述方法的基本实现。
Javascript
输出:
1
时间复杂度: O(n)
辅助空间: O(n)
请参阅有关检查字符串是否相互旋转的完整文章 |设置2了解更多详情!