Cha Cha Slide C++

c++server side programmingprogramming更新于 2024/9/1 18:00:00

假设我们有两个字符串 s 和 t。我们必须检查 s 是否是 t 的旋转,换句话说,旋转 s 后我们能得到 t 吗?

因此,如果输入是 s = "helloworld" 和 t = "worldhello",则输出将为 True。

为了解决这个问题,我们将遵循以下步骤 −

  • 如果 s0 的大小不等于 s1 的大小,则 −

    • 返回 false

  • 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

相关文章