Files
LeetCode/Medium/longest-palindromic-substring/solution.cpp
Arkaprabha Chakraborty cef4c4dcc4 Initial commit
2022-07-26 16:15:18 +05:30

34 lines
945 B
C++

#include <string>
class Solution {
public:
std::string longestPalindrome(std::string line) {
if (line.size() < 2) {
return line;
} else {
int size = 0, start = 0, left = 0, right = 0, middle = 0;
while (middle < line.size()) {
left = middle, right = middle;
while (right < line.size() - 1 &&
line[right] == line[right + 1]) {
++right;
}
middle = right + 1;
while (right < line.size() - 1 && left > 0 &&
line[right + 1] == line[left - 1]) {
--left;
++right;
}
if (right - left + 1 > size) {
start = left;
size = right - left + 1;
}
}
return line.substr(start, size);
}
}
};