meetcodesiik
meetcodesiik
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cout << "Enter a string: ";
cin >> s;
int n = s.length();
int start = 0, maxLen = 1;
for (int i = 0; i < n; i++) {
// Odd length palindrome
int left = i, right = i;
while (left >= 0 && right < n && s[left] == s[right]) {
if (right - left + 1 > maxLen) {
start = left;
maxLen = right - left + 1;
}
left--;
right++;
}
// Even length palindrome
left = i;
right = i + 1;
while (left >= 0 && right < n && s[left] == s[right]) {
if (right - left + 1 > maxLen) {
start = left;
maxLen = right - left + 1;
}
left--;
right++;
}
}
cout << "Longest Palindrome: ";
for (int i = start; i < start + maxLen; i++) {
cout << s[i];
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cout << "Enter a string: ";
cin >> s;
int n = s.length();
int start = 0, maxLen = 1;
for (int i = 0; i < n; i++) {
// Odd length palindrome
int left = i, right = i;
while (left >= 0 && right < n && s[left] == s[right]) {
if (right - left + 1 > maxLen) {
start = left;
maxLen = right - left + 1;
}
left--;
right++;
}
// Even length palindrome
left = i;
right = i + 1;
while (left >= 0 && right < n && s[left] == s[right]) {
if (right - left + 1 > maxLen) {
start = left;
maxLen = right - left + 1;
}
left--;
right++;
}
}
cout << "Longest Palindrome: ";
for (int i = start; i < start + maxLen; i++) {
cout << s[i];
}
return 0;
}