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

如何在Java函数中检查字符串是否是回文?

发布时间:2023-07-01 01:17:25

在Java函数中检查字符串是否是回文可以采取以下步骤:

1. 定义一个名为isPalindrome的函数,该函数接受一个字符串作为参数,并返回一个布尔值来指示该字符串是否是回文。

2. 使用字符串的toCharArray()方法将字符串转换为字符数组,并将其存储在一个新的字符数组中。

3. 定义两个指针,一个从数组的开头开始,一个从数组的末尾开始。

4. 使用while循环遍历字符数组,判断两个指针指向的字符是否相等。

5. 如果指针指向的字符不相等,说明字符串不是回文,返回false。

6. 如果指针指向的字符相等,将两个指针向中间移动一步,继续比较下一组字符。

7. 当指针不再交叉时,说明字符串是回文,返回true。

下面是一个示例代码实现:

public class PalindromeChecker {
    public static void main(String[] args) {
        String str = "level";
        boolean isPalindrome = isPalindrome(str);
        System.out.println("Is \"" + str + "\" a palindrome? " + isPalindrome);
    }
    
    public static boolean isPalindrome(String str) {
        char[] charArray = str.toCharArray();
        int left = 0;
        int right = charArray.length - 1;
        
        while (left < right) {
            if (charArray[left] != charArray[right]) {
                return false;
            }
            
            left++;
            right--;
        }
        
        return true;
    }
}

输出结果为:

Is "level" a palindrome? true

这个示例代码中的isPalindrome函数首先将输入的字符串转换为字符数组,然后使用两个指针从数组的两端开始检查字符是否相等。如果两个指针指向的字符不相等,说明字符串不是回文,直接返回false;如果两个指针指向的字符相等,将指针向中间移动一步,继续比较下一组字符。当两个指针不再交叉时,说明字符串是回文,返回true。