Computer >> Máy Tính >  >> Lập trình >> C ++

Cha Cha Slide C ++


Giả sử chúng ta có hai chuỗi s và t. chúng ta phải kiểm tra xem s có phải là quay của t hay không, nói cách khác, chúng ta có thể nhận được t sau khi quay s không?

Vì vậy, nếu đầu vào giống như s ="helloworld" và t ="worldhello", thì đầu ra sẽ là True.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu kích thước của s0 không bằng kích thước của s1, thì -

    • trả về false

  • s:=s0 nối s0

  • trả về true khi s1 bằng s, ngược lại là 0

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

#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"));
}

Đầu vào

"helloworld", "worldhello"

Đầu ra

1