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