问题描述
一个字符串如果从左向右读和从右向左读相同,则称为一个回文串,例如lanqiaoaiqnal 是一个回文串。
小蓝有一个字符串,请将这个字符串右边加上一些字符,使其成为一个回文串。
如果有多种方案,请输出最短的回文串。
输入格式
输入一行包含一个字符串,由小写英文字母组成。
输出格式
输出一行包含答案。
样例输入 1
lanqiao
样例输出 1
lanqiaoaiqnal
样例输入 2
banana
样例输出 2
bananab
样例输入 3
noon
样例输出 3
noon
评测用例规模与约定
对于所有评测用例,1 <= 字符串长度 <= 100。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
String ss = "";
if (isRev(s))
System.out.println(s);
else {
for (int i = 0; i < s.length(); i++) {
ss = s.charAt(i) + ss;
if (isRev(s + ss)){
System.out.println(s + ss);
break;
}
}
}
}
public static boolean isRev(String s1){
StringBuilder s2 = new StringBuilder(s1);
if (s2.reverse().toString().equals(s1))
return true;
else
return false;
}
}