给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

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() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值