leetcode No.5
给定一个字符串 s
,找到 s
中最长的回文子串。你可以假设 s
的最大长度为 1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
// leetcode.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <sstream>
using namespace std;
class Solution {
public:
string longestPalindrome(string s) {
int mid = 0;
int left , right ;
int max = -1;
string res;
while (mid < s.length()) {
left = mid;
right = mid;
while (left >= 0 && right < s.length() && s[left] == s[right])
{
if (max < right - left + 1) {
max = right - left + 1;
res.assign(s, left, max);
}
left--;
right++;
}
mid++;
}
mid = 0;
while (mid < s.length()) {
if (s[mid] == s[mid + 1]) {
left = mid;
right = mid + 1;
while (left >= 0 && right < s.length()