相关疑难解决方法(0)

面试问题:检查一个字符串是否是其他字符串的旋转

我的一位朋友今天在面试中被问到以下问题:软件开发人员的职位:

鉴于两个字符串s1,s2您将如何检查是否s1旋转版本s2

例:

如果s1 = "stackoverflow"那么以下是它的一些旋转版本:

"tackoverflows"
"ackoverflowst"
"overflowstack"
Run Code Online (Sandbox Code Playgroud)

其中,作为"stackoverflwo"旋转的版本.

他给出的答案是:

获取s2并找到作为子字符串的最长前缀,s1它将为您提供旋转点.一旦你找到那个点,突破s2该点处得到s2as2b,然后就检查concatenate(s2a,s2b) == s1

对我和我的朋友来说,这似乎是一个很好的解决方案.但面试官不这么认为.他要求一个更简单的解决方案.请告诉我你将如何做到这一点来帮助我Java/C/C++

提前致谢.

c c++ java

235
推荐指数
13
解决办法
11万
查看次数

标签 统计

c ×1

c++ ×1

java ×1