मान लीजिए कि हमारे पास दो तार s और t हैं। हमें यह जांचना होगा कि s, t का घूर्णन है या नहीं, दूसरे शब्दों में, क्या s को घुमाने के बाद हम t प्राप्त कर सकते हैं?
इसलिए, यदि इनपुट s ="helloworld" और t ="worldhello" जैसा है, तो आउटपुट True होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
यदि s0 का आकार s1 के आकार के बराबर नहीं है, तो -
-
झूठी वापसी
-
-
s :=s0 concatenate 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