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

Java函数怎么判断字符串是否为回文?

发布时间:2023-07-07 22:05:52

判断一个字符串是否为回文的方法有很多种,下面会介绍一种比较常见的方法。

回文字符串是指从左到右和从右到左读取,结果是一样的字符串。例如,"level","deed" 和 "racecar" 都是回文字符串。

要判断一个字符串是否为回文,我们可以使用双指针的方法来比较字符串的首尾字符。具体步骤如下:

1. 定义两个指针,一个指向字符串的起始位置,一个指向字符串的末尾位置。

2. 使用 while 循环,当起始指针小于等于末尾指针时,执行下述步骤:

a. 比较起始指针和末尾指针指向的字符是否相等。如果相等,则继续比较下一个字符。

b. 如果不相等,则返回 false,因为不满足回文的条件。

c. 每次比较完后,起始指针向后移动一位,末尾指针向前移动一位。

3. 如果循环结束后都没有返回 false,那么说明字符串是回文的,返回 true。

以下是具体的 Java 代码实现:

public class PalindromeString {
    public static boolean isPalindrome(String s) {
        int start = 0;
        int end = s.length() - 1;

        while (start <= end) {
            if (s.charAt(start) != s.charAt(end)) {
                return false;
            }
            start++;
            end--;
        }
        return true;
    }

    public static void main(String[] args) {
        String str1 = "level";
        String str2 = "hello";

        System.out.println(isPalindrome(str1)); // 输出 true
        System.out.println(isPalindrome(str2)); // 输出 false
    }
}

上述代码中,isPalindrome() 方法接受一个字符串作为参数,并返回一个布尔值,表示该字符串是否为回文。在 main() 方法中,通过调用 isPalindrome() 方法来判断给定字符串是否为回文,并输出结果。

以上就是一种常见的判断字符串是否为回文的方法。当然,还可以使用其他方法,如递归、借助栈等。不同方法的效率和实现方式可能有所差异,具体选择方法应根据实际需求和场景进行。