题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String str = in.nextLine(); int desLen = 0; for (int i = 0; i < str.length(); i++) { //ABA类型 int len1 = getLongest(str, i, i); //ABBA类型 int len2 = getLongest(str, i, i + 1); desLen = Math.max(desLen, Math.max(len1, len2)); } System.out.println(desLen); } } public static int getLongest(String str, int left, int right) { //从中心点向两端扩散 while (left >= 0 && right < str.length() &&str.charAt(left) == str.charAt(right)) { left--; right++; } return right - left - 1; } }