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

รหัส C ++ เพื่อค้นหาสตริง palindrome ที่มีสตริงย่อยคือ S


สมมติว่าเรามีสตริง S ที่มีตัวอักษร n ตัว เราต้องหาสตริง T อีกอันหนึ่ง โดยที่ T คือ palindrome และ S เป็นผลสืบเนื่องมาจาก T

ดังนั้น หากอินพุตเป็นเหมือน S ="ab" ผลลัพธ์จะเป็น "aabaa" (คำตอบอื่นๆ ก็มีให้บริการเช่นกัน)

ขั้นตอน

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

res := S
reverse the array S
res := res + S
return res

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
string solve(string S){
   string res = S;
   reverse(S.begin(), S.end());
   res += S;
   return res;
}
int main(){
   string S = "ab";
   cout << solve(S) << endl;
}

อินพุต

ab

ผลลัพธ์

abba