欢迎访问宙启技术站
智能推送

Java函数入门:如何判断一个字符串是回文字符串?

发布时间:2023-07-02 23:55:28

判断一个字符串是否是回文字符串是一个常见的编程问题。回文字符串是指正序和倒序排列后的字符串完全相同。

在Java中,可以通过多种方法判断一个字符串是否是回文字符串,下面将介绍其中的几种方法。

1. 使用遍历比较的方式:首先将字符串转换为字符数组,然后使用两个指针分别指向数组的开头和结尾,不断比较两个指针所指向的字符是否相同,直到两个指针相遇或者不相等。如果两个指针相遇,则说明字符串是回文字符串。

public static boolean isPalindrome(String str) {
    char[] charArray = str.toCharArray();
    int i = 0;
    int j = charArray.length - 1;
    
    while (i < j) {
        if (charArray[i] != charArray[j]) {
            return false;
        }
        i++;
        j--;
    }
    
    return true;
}

2. 使用StringBuilder的reverse方法比较字符串:通过将字符串反转后与原字符串比较,如果两个字符串相等,则说明字符串是回文字符串。

public static boolean isPalindrome(String str) {
    StringBuilder reversedStr = new StringBuilder(str).reverse();
    return str.equals(reversedStr.toString());
}

3. 使用递归的方式判断:递归地比较字符串的首尾字符是否相等,如果相等则继续比较去掉首尾字符后的子串,直到字符串为空或者只剩一个字符。如果所有的比较都相等,则说明字符串是回文字符串。

public static boolean isPalindrome(String str) {
    if (str.length() <= 1) {
        return true;
    }
    
    if (str.charAt(0) != str.charAt(str.length() - 1)) {
        return false;
    }
    
    return isPalindrome(str.substring(1, str.length() - 1));
}

以上是几种常用的判断回文字符串的方法,可以根据实际需求选择合适的方法。