214 Shortest Palindrome
Ex1:
abcd
dcba
abc
cba
ab
ba
a
a
Ex2:
adcbabcd
aacecaaa
aaacecaa
aacecaa
aacecaaLast updated
Ex1:
abcd
dcba
abc
cba
ab
ba
a
a
Ex2:
adcbabcd
aacecaaa
aaacecaa
aacecaa
aacecaaLast updated
string shortestPalindrome(string s) {
string r = s;
reverse(r.begin(), r.end());
const size_t size = s.length();
int i = 0;
for (i; i < size; i++) {
if (s.substr(0, size - i) == r.substr(i))
break;
}
return r.substr(0, i) + s;
}
int main()
{
cout << shortestPalindrome("abcd") << endl;
cout << shortestPalindrome("aacecaaa") << endl;
}