回文,亦称回环,是正读反读都能一样的字符串。例如“12321”、“abba”等。
现在给你一个字符串,请你找出其中长度最长的回文。
解析:
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String s = sc.next(); String str = "#"; String res = ""; for (int i = 0; i < s.length(); i ++ ) str += s.charAt(i) + "#"; for (int i = 0; i < str.length(); i ++ ) res = res.length() >= check(str, i, i).length() ? res : check(str, i, i); System.out.println(res); } } public static String check(String str, int left, int right) { while (left >= 0 && right < str.length() && str.charAt(left) == str.charAt(right)) { left -- ; right ++ ; } return str.substring(left + 1, right).replace("#", ""); } }