ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমাদের পরীক্ষা করতে হবে যে s টি t এর ঘূর্ণন কিনা, অন্য কথায়, s ঘোরানোর পরে আমরা কি t পেতে পারি?
সুতরাং, যদি ইনপুট s ="helloworld" এবং t ="worldhello" এর মত হয়, তাহলে আউটপুট হবে True।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি s0 এর আকার s1 এর আকারের সমান না হয়, তাহলে −
-
মিথ্যা ফেরত দিন
-
-
s :=s0 concatenate 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