मान लीजिए कि हमारे पास दो तार 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