问题描述:
给你一个字符串 s
,找到 s
中最长的回文子串。
示例 1:
输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd" 输出:"bb"
提示:
1 <= s.length <= 1000
s
仅由数字和英文字母组成
上代码,拿去即可运行:
package com.onlyqi.daydayupgo01.suanfa;
public class Test08 {
public static void main(String[] args) {
System.out.println("==========only-qi===============" + test("ababac"));
}
public static String test(String param) {
String result = "";
for (int i = 0; i < param.length(); i++) {
String sub1 = expandCenter(param, i, i);
String sub2 = expandCenter(param, i, i + 1);
result = result.length() >= sub1.length() ? result : sub1;
result = result.length() >= sub2.length() ? result : sub2;
}
return result;
}
public static String expandCenter(String s, int left, int right) {
int len = s.length();
while (left >= 0 && right < len
&& s.charAt(left) == s.charAt(right)) {
left--;
right++;
}
return s.substring(left + 1, right);
}
}
运行结果:
我要刷300道算法题,第125道 。 好久好久没写算法了,最近开始写,先从最简单的开始。希望自己可以坚持下去 。
今日感悟:在自己能学想学习的时候,一定要尽可能的多学习。不然其他时间就更没时间或是心思学习了