Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ชาช่าสไลด์ C++


สมมติว่าเรามีสองสตริง s และ t เราต้องตรวจสอบว่า s เป็นการหมุนของ t หรือไม่ กล่าวอีกนัยหนึ่ง เราจะได้ t หลังจากหมุน s หรือไม่

ดังนั้น หากอินพุตเป็น s ="helloworld" และ t ="worldhello" ผลลัพธ์จะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้าขนาดของ s0 ไม่เท่ากับขนาดของ s1 ดังนั้น −

    • คืนค่าเท็จ

  • s :=s0 ต่อ s0

  • คืนค่าจริงเมื่อ s1 อยู่ใน s มิฉะนั้น 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