题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String s = sc.nextLine(); int res = 0; //截取宽度,最大为整个字符串,由于subString截取时,最后一位不选取,所以不需要length - 1 for (int i = 1; i <= s.length(); i++) { //以各个位置为开始,subString截取问题,i从1开始,最大值仍然不需要 -1 for (int j = 0; j <= s.length() - i; j++) { int len = 0; //反转后仍然相等 StringBuilder builder = new StringBuilder(s.substring(j, j + i)); if(builder.toString().equals(builder.reverse().toString())) { res = i; break;//一旦当前i值发现即可返回,因为后面即使有,大小也一样 } } } System.out.println(res); } } }