Java實現迴文字符串判斷

最近遇到很多判斷迴文的問題,這裏列出自己的一些解決思路
迴文簡單的解釋就是前後翻轉之後還是相同的
這裏先說一下判斷迴文字符串的三種思路:遞歸、雙指針以及字符串翻轉

1.雙指針:即在字符串前後同時進行移動判斷,對應位置上的字符是否相同:

public boolean Palindrome(String s,int start,int end){

        char[] c = s.toCharArray();

        if (start >= end) return true;

        return c[start] == c[end] && Palindrome(s,++start,--end);
    }

2.利用字符串翻轉進行判斷(這也是最直接的判斷方式):

 public boolean Palindrome(String s){

        StringBuffer stringBuffer = new StringBuffer(s);

        return s.equals(stringBuffer.reverse().toString());


    }

3.遍歷字符串進行判斷:

public boolean Palindrome(String s){
        int len = s.length();
        for (int i =0;i<len/2;i++)
            if (s.charAt(i) != s.charAt(len-i-1))
                return false;
            return true;
    }

希望有其他思路的朋友可以留言進行交流,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章