假设我们有两个字符串s和t。我们必须检查s是否为t的旋转,换句话说,旋转s后能否得到t?
因此,如果输入类似于s =“ helloworld”和t =“ worldhello”,则输出将为True。
为了解决这个问题,我们将遵循以下步骤-
如果s0的大小不等于s1的大小,则-
返回假
s:= s0连接s0
当s1在s中时返回true,否则返回0
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: bool solve(string s0, string s1) { if(s0.size() != s1.size()) return false; string s = s0 + s0; return s.find(s1) != string::npos; } }; int main(){ Solution ob; cout << (ob.solve("helloworld", "worldhello")); }
"helloworld", "worldhello"
输出结果
1