京京和东东是好朋友。东东很喜欢回文。回文是指从前往后读和从后往前读是一样的词语。京京准备给东东一个惊喜,先取定一个字符串s,然后在后面附上 0 个或者更多个字母形成回文,京京希望这个回文越短越好。请帮助京京计算他能够得到的最短的回文长度。
数据范围:输入的字符串长度满足 ,且保证只含有小写英文字母
输入包括一个字符串s,字符串s长度length
输出一个整数,表示牛牛能够得到的最短的回文长度。
abab
5
在末尾添加一个 'a' 构成回文
a
1
本身就是回文
import java.util.Scanner; public class Main { public static boolean isPalindrome(char[] ch, int i, int j) { while (i < j) { if (ch[i++] != ch[j--]) { return false; } } return true; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] ch = sc.next().toCharArray(); for (int i = 0; i < ch.length; i++) { if (isPalindrome(ch, i, ch.length - 1)) { System.out.println(ch.length + i); break; } } } }