class Solution
{
public:
	string longestPalindrome(string s)
	{
		int ti = 0, maxlen = 0, i, t;
		for (i = 0; s[i]; i++)
		{
			t = 1;
			while (t <= i && s[i + t])
			{
				if (s[i + t] == s[i - t])
					t++;
				else
					break;
			}
			t--;
			if (2 * t + 1 > maxlen)
			{
				ti = i - t;
				maxlen = 2 * t + 1;
			}
		}
		for (i = 0; s[i]; i++)
		{
			t = 1;
			while (t <= i + 1 && s[i + t])
			{
				if (s[i - t + 1] == s[i + t])
					t++;
				else
					break;
			}
			t--;
			if (2 * t > maxlen)
			{
				ti = i - t + 1;
				maxlen = 2 * t;
			}
		}
		s[ti + maxlen] = 0;
		return s.c_str() + ti;
	}
};