溫馨提示×

java回文字符串判斷的方法是什么

小億
81
2023-12-14 02:10:43
欄目: 編程語言

判斷一個字符串是否為回文字符串的常見方法是使用雙指針。首先,我們定義兩個指針,一個指向字符串的起始位置,另一個指向字符串的末尾位置。然后,在每一步迭代中,我們比較兩個指針所指向的字符是否相等。如果相等,我們將兩個指針向中間移動一位繼續(xù)比較;如果不相等,說明字符串不是回文字符串,返回false。直到兩個指針相遇,或者其中一個指針超過另一個指針,即遍歷完整個字符串,都沒有出現(xiàn)不相等的情況,則字符串是回文字符串,返回true。

以下是一個用Java實現(xiàn)的回文字符串判斷的示例代碼:

public class Palindrome {
    public static boolean isPalindrome(String str) {
        int start = 0; // 起始指針
        int end = str.length() - 1; // 末尾指針

        while (start < end) {
            if (str.charAt(start) != str.charAt(end)) {
                return false; // 不相等,不是回文字符串
            }
            start++;
            end--;
        }

        return true; // 相等,是回文字符串
    }

    public static void main(String[] args) {
        String str = "abcba";
        System.out.println(isPalindrome(str)); // 輸出:true
    }
}

在上述代碼中,我們使用了charAt()方法獲取字符串中指定位置的字符,并使用==運算符比較字符是否相等。注意,在Java中,字符串的索引從0開始,所以起始指針start初始化為0,末尾指針end初始化為字符串長度減1。在每一步迭代中,我們將start指針向后移動一位,將end指針向前移動一位,直到兩個指針相遇或者交錯。如果在迭代過程中出現(xiàn)不相等的字符,說明字符串不是回文字符串,返回false。如果迭代完整個字符串都沒有出現(xiàn)不相等的情況,說明字符串是回文字符串,返回true。

0