天天看點

蘑菇街 回文串

給定一個字元串,問是否能通過添加一個字母将其變為回文串。

輸入描述:

一行一個由小寫字母構成的字元串,字元串長度小于等于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;

    }

}
           

繼續閱讀