题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String str = in.nextLine(); int max=0; //将子串确定长度之后来回移动,从大到小判断,第一次获得的结果即为最大 for (int length = str.length(); length > 0; length--) { for (int i = 0; i < str.length() - length + 1; i++) { String subString = str.substring(i, length + i); int start = 0, end = length - 1; //字符串翻转判断相等 boolean isHuiwen = subString.equals(new StringBuilder( subString).reverse().toString()); if(isHuiwen){ max=length; break; } } if(max>0){ break; } } System.out.print(max); } } }