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

实现Java函数以检查是否为回文字符串。

发布时间:2023-07-03 08:11:58

回文字符串是指从左到右和从右到左读取都相同的字符串。例如,"level"、"racecar"和"madam"都是回文字符串。

下面是一个实现Java函数来检查字符串是否为回文的示例:

public class PalindromeChecker {
    
    public static boolean isPalindrome(String s) {
        // 去除空格和标点符号,并将字符串转换为小写
        s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
        
        int left = 0;
        int right = s.length() - 1;
        
        while (left < right) {
            if (s.charAt(left) != s.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }
        
        return true;
    }
    
    public static void main(String[] args) {
        String str1 = "level";
        String str2 = "racecar";
        String str3 = "Hello World";
        
        System.out.println(str1 + " is a palindrome: " + isPalindrome(str1));
        System.out.println(str2 + " is a palindrome: " + isPalindrome(str2));
        System.out.println(str3 + " is a palindrome: " + isPalindrome(str3));
    }
}

在这个例子中,isPalindrome函数接受一个字符串作为参数,并返回一个布尔值,表示该字符串是否为回文。函数首先通过使用正则表达式[^a-zA-Z0-9]将字符串中的非字母和数字字符替换为空字符串,并将字符串转换为小写。然后,使用两个指针leftright分别指向字符串的开头和结尾。在循环中,比较指针位置处的字符是否相同,如果不相同,则返回false。如果循环结束后没有返回false,则表示字符串是回文,返回true

main函数中,我们通过调用isPalindrome函数来检查三个字符串是否为回文,并将结果打印出来。

运行上述代码,将会输出以下结果:

level is a palindrome: true
racecar is a palindrome: true
Hello World is a palindrome: false

通过这个例子,我们可以实现一个简单而有效的Java函数来检查字符串是否为回文。