题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
/* * 求一个字符串的最长的对称字符串长度: * * 例如: * 12ABBA中,有ABBA,最长的对称字符串长度是4 * ABAKK,有ABA,最长的对称字符串长度是3 * ABBBA,有ABBBA,最长的对称字符串长度是5 * 12HHHHA,有HHHH,最长的对称字符串长度是4 * 51233214,有123321,最长的对称字符串长度是6 * abaaab,有baaab,最长的对称字符串长度是5 * */ import java.util.Scanner; public class Practice32_6_27 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String str = sc.nextLine(); String reStr = new StringBuilder(str).reverse().toString(); int max = 0; for (int i = 0; i < str.length(); i++) { for (int j = i + 1; j < str.length(); j++) { if (reStr.contains(str.substring(i, j + 1)) && j - i + 1 > max) {//abcaxxxx987667855acba if( str.charAt(i) == str.charAt(j) ) { max = j - i + 1; } } } } System.out.println(max); } }