Cha Cha Slide C ++

假设我们有两个字符串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