給定一個字元串,問是否能通過添加一個字母将其變為回文串。
輸入描述:
一行一個由小寫字母構成的字元串,字元串長度小于等于10。
輸出描述:
輸出答案(YES\NO).
輸入例子:
coco
輸出例子:
YES
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
String str = scan.next();
char[] chs = str.toCharArray();
System.out.println(sovle(chs));
}
scan.close();
}
private static String sovle(char[] chs) {
int start = ;
int end = chs.length - ;
String res = "YES";
while (start <= end) {
//字元串本來就是回文串
if (chs[start] == chs[end]) {
++start;
--end;
}else if (chs[start] == chs[end - ]) {//子串是回文串多一個字元
--end;
}else if (chs[start + ] == chs[end]) {
++start;
}else {
res = "NO";
break;
}
}
return res;
}
}