算法:回文字符串的判斷

“回文”是指正讀反讀都能讀通的句子,即正反數(shù)字的順序都是一樣的,比如:12321,回文字符串如:abcdfdcba。并不是所有的字符串都擁有回文功能。現(xiàn)給出一個(gè)字符串,判斷是否擁有回文功能,如是返回true,否則返回not possible。其中可允許去掉1~2個(gè)字段,再判斷即可。比如:

abcrtcba:去掉cr后同樣返回'rt',表示為回文字符串,同時(shí)提示去掉rt后的回文字符串
321t123:去掉t后返回't',表示為回文字符串,同時(shí)提示去掉t后的回文字符串
rttr:不返回任何數(shù)據(jù),直接返回true,
wiouiow:返回false

上代碼


public  class StringPalindrome {


    public static String StringChallenge(String str) {
        // code goes here
        if (str==null || str.trim().length()==0){
           return "";
        }

        for(int n=0;n<=2;n++){
            String str1= "";
            String removeStr = "";
            if (n>0 && str.length()>n){
                removeStr= str.substring(0,n);
                str1 = str.substring(n);
            }else{
                str1 = str;
            }

            String str2 = "";
            char[] ch = str1.toCharArray();
            for(int i=ch.length-1;i>=0;i--){
                str2+=ch[i];
            }
            if (str1.equals(str2)){
                System.out.print(removeStr);
                return removeStr;
            }
        }
        System.out.println(str + "not possible");
        return "";
    }

    public static void main (String[] args) {
        // keep this function call here
        Scanner s = new Scanner(System.in);
        StringChallenge(s.nextLine());
        //System.out.print(StringChallenge(s.nextLine()));
    }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容