题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

// HJ85-3 最长回文子串.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include<iostream>
#include<bits/stdc++.h>

using namespace std;

int check(string& s, int a)
{
	int len = s.size();
	int i = a, j = a + 1;
	while (i >= 0 && j <= len - 1)
	{
		if (s[i] == s[j])
		{
			i--;
			j++;
		}
		else if(s[i]!=s[j])
		{
			break;
		}
	}
	return j - i - 1;
}

int check2(string& s, int a)
{
	int len = s.size();
	int i = a-1, j = a + 1;
	while (i >= 0 && j <= len - 1)
	{
		if (s[i] == s[j])
		{
			i--;
			j++;
		}
		else if (s[i] != s[j])
		{
			break;
		}
	}
	return j - i - 1;
}

int main()
{
	string s;
	while (cin >> s)
	{
		int ans = 1, res = 0;
		for (int i = 0; i < s.size(); i++)
		{
			int a=check(s, i);
			int b=check2(s, i);
			res = max(a, b);
			ans = max(res, ans);
		}
		cout << ans << endl;
	}
	return 0;
}

全部评论

相关推荐

06-10 18:55
已编辑
西安电子科技大学 Java
只管努力就好:恭喜恭喜恭喜,我都没有面试机会,上周被压力炸了,今天中午看页面显示被捞进入评估结果下午就没了
京东三面373人在聊
点赞 评论 收藏
分享
07-19 13:28
长沙学院 Java
鸿哥鸿哥:学院(一本),感觉在脱ku子放屁,学院结尾的除了那几家出名的,一律按二本处理
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-01 16:13
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务