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

使用Java编写一个函数以判断一个字符串是否是回文。

发布时间:2023-06-06 00:43:36

回文字符串是指从左到右和从右到左阅读是一样的字符串,例如"level"和"racecar"。判断一个字符串是否是回文,可以通过比较字符串的前半部分与后半部分是否相等来实现。如果相等,则字符串是回文;否则,不是回文。

在Java中如何判断一个字符串是否是回文?可以使用以下步骤:

1. 首先,判断字符串是否为空或只包含一个字符。若是,则该字符串是回文。

2. 接着,将字符串转换为字符数组,以便比较字符。

3. 然后,使用for循环比较字符数组的前半部分和后半部分。如果字符相同,则继续比较;如果字符不同,则该字符串不是回文。

4. 最后,如果字符串的前半部分等于后半部分,则该字符串是回文。

下面是一个完整的Java代码实现:

public static boolean isPalindrome(String str){

    // Step 1: Check if the string is empty or has only one character

    if(str == null || str.length() <= 1){

        return true;

    }

    // Step 2: Convert the string to a character array

    char[] charArr = str.toCharArray();

    int len = charArr.length;

    // Step 3: Compare the first half and the second half of the character array

    for(int i=0;i<len/2;i++){

        if(charArr[i] != charArr[len-1-i]){

            return false;

        }

    }

    // Step 4: If the first half equals the second half, then the string is a palindrome

    return true;

}

该函数的时间复杂度为O(n/2),其中n为字符串长度,因为只需要比较字符串的前一半和后一半即可判断是否是回文。该函数也可以处理非英文字母的字符串,因为它只比较字符的数值,不考虑字符本身。例如:"上海自来水来自海上"也可以被识别为回文字符串。