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

如何使用Java函数编写一个判断一个字符串是否是回文的函数?

发布时间:2023-07-02 21:51:14

要编写一个判断一个字符串是否是回文的函数,可以按照以下步骤进行:

步骤1:创建一个名为isPalindrome的函数,该函数接受一个字符串作为输入参数,并返回一个boolean类型的结果。

步骤2:在函数内部,使用两个指针,一个指向字符串的起始位置,另一个指向字符串的末尾位置。

步骤3:使用一个while循环来遍历字符串,循环条件是起始指针小于末尾指针。在每次循环中,进行以下操作:

a. 检查起始指针和末尾指针所指向的字符是否相等。如果不相等,则说明字符串不是回文,返回false。

b. 如果相等,则将起始指针向后移动一位,末尾指针向前移动一位,继续下一轮循环。

步骤4:在循环结束后,如果字符串的所有字符都比较完毕,说明字符串是回文,返回true。

步骤5:在主函数中调用isPalindrome函数来测试。

以下是完整的Java代码:

public class PalindromeChecker {
    public static boolean isPalindrome(String input) {
        int start = 0;
        int end = input.length() - 1;
        
        while (start < end) {
            if (input.charAt(start) != input.charAt(end)) {
                return false;
            }
            
            start++;
            end--;
        }
        
        return true;
    }
    
    public static void main(String[] args) {
        String testString = "madam";
        boolean isPalindrome = isPalindrome(testString);
        
        if (isPalindrome) {
            System.out.println(testString + " is a palindrome.");
        } else {
            System.out.println(testString + " is not a palindrome.");
        }
    }
}

运行结果:

madam is a palindrome.

这个函数的时间复杂度是O(n),其中n是输入字符串的长度。这是因为我们需要比较字符串中的每一个字符一次。