Java

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

小亿
81
2023-12-14 02:10:43
栏目: 编程语言

判断一个字符串是否为回文字符串的常见方法是使用双指针。首先,我们定义两个指针,一个指向字符串的起始位置,另一个指向字符串的末尾位置。然后,在每一步迭代中,我们比较两个指针所指向的字符是否相等。如果相等,我们将两个指针向中间移动一位继续比较;如果不相等,说明字符串不是回文字符串,返回false。直到两个指针相遇,或者其中一个指针超过另一个指针,即遍历完整个字符串,都没有出现不相等的情况,则字符串是回文字符串,返回true。

以下是一个用Java实现的回文字符串判断的示例代码:

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指针向前移动一位,直到两个指针相遇或者交错。如果在迭代过程中出现不相等的字符,说明字符串不是回文字符串,返回false。如果迭代完整个字符串都没有出现不相等的情况,说明字符串是回文字符串,返回true。

0
看了该问题的人还看了