题解 | #最长回文子串#

最长回文子串

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

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

using namespace std;

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

int check1(string& s, int x)
{
	int j = x-1, k = x + 1, ans = 1,len=s.size();
	while(j>=0&&(k<=len-1))
	{
		if (s[j] == s[k])
		{
			ans+=2;
			j--;
			k++;
		}
		else if (s[j] != s[k])
		{
			break;
		}
			
	}
	return ans;
}
int main()
{
	string s;
	while (cin >> s)
	{
		int res = 0;
		for (int i = 0; i < s.size(); i++)
		{
			int a=check(s, i);
			int b=check1(s, i);
			int tmp = max(a, b);
			res = max(res,tmp);
		}
		cout << res << endl;
	}
	return 0;
}

全部评论

相关推荐

06-13 15:45
辽宁大学 golang
咱就是说&nbsp;你不主动&nbsp;我也不会主动下一步hhh,急死了
恶龙战士:不建议把这种帖子发到牛客上,建议去小红书发
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
大厂的边缘业务去了也没啥用,也得不到任何成长,尤其是审核、中台这种价值产出不清楚的,别被大厂光环蒙蔽了双眼,如果你找实习工作,优先找"离钱近的业务",钱多的业务福利年终奖啥的都不会差的
陈100:呵呵。 你在大厂工作2年,后面准备好,可以随便跳很多公司。 去小厂,现在拿到所谓多的钱,有啥用啊,未来没有了。 而且应届生,工作没几年的,也不是赚钱的时间。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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