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

Java函数示例:判断一个字符串是否为回文字符串。

发布时间:2023-11-20 14:40:54

回文字符串是指从左到右和从右到左读都一样的字符串。要判断一个字符串是否为回文字符串,有多种方法可以实现。

方法一:使用双指针法

思路:使用两个指针分别指向字符串的左右两端,依次比较两个指针指向的字符是否相等,如果都相等,则继续向中间移动指针,直到两个指针相遇。如果在比较过程中发现有不相等的字符,则说明不是回文字符串。

代码示例:

public boolean isPalindrome(String s) {

    int left = 0;

    int right = s.length() - 1;

    while (left < right) {

        if (s.charAt(left) != s.charAt(right)) {

            return false;

        }

        left++;

        right--;

    }

    return true;

}

方法二:使用StringBuilder反转字符串

思路:将原字符串倒序后,与原字符串进行比较,如果相等则为回文字符串。

代码示例:

public boolean isPalindrome(String s) {

    StringBuilder reversed = new StringBuilder(s).reverse();

    return s.equals(reversed.toString());

}

方法三:使用递归法

思路:递归判断字符串的首尾字符是否相等,如果相等,则判断两个字符串去掉首尾字符后是否为回文字符串。

代码示例:

public boolean isPalindrome(String s) {

    if (s.length() <= 1) {

        return true;

    }

    if (s.charAt(0) != s.charAt(s.length() - 1)) {

        return false;

    }

    return isPalindrome(s.substring(1, s.length() - 1));

}

以上是三种判断字符串是否为回文字符串的方法示例,可以根据实际需求选择其中一种方法进行实现。