1.题目描述
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: “babad”
输出: “bab”
注意: “aba” 也是一个有效答案。
示例 2:
输入: “cbbd”
输出: “bb”
2.解题分析
首先这里需要利用substring()这个方法
substring() 方法返回字符串的子字符串。
1 | public String substring(int beginIndex, int endIndex) |
参数
beginIndex – 起始索引(包括), 索引从 0 开始。
endIndex – 结束索引(不包括)。
首先一个回文数,是分偶数和奇数的。
例如:
偶数:bbcc
奇数:aba
所以我们在这里用到的是中心扩散法,假如回文数是奇数,则以自己为中心两边向外扩散,同时判断新加的两个数是否相等,而偶数就要先判断两边的数字是否相等。
3. 代码
1 | class Solution4 { |