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

写一个Java函数来反转一个字符串

发布时间:2023-10-05 04:53:03

以下是一个Java函数实现反转一个字符串的方法:

public static String reverseString(String str) {
    if (str == null || str.length() <= 1) {
        return str;
    }
    
    char[] charArray = str.toCharArray();
    int left = 0;
    int right = charArray.length - 1;
    
    while (left < right) {
        char temp = charArray[left];
        charArray[left] = charArray[right];
        charArray[right] = temp;
        left++;
        right--;
    }
    
    return new String(charArray);
}

这个函数首先判断输入的字符串是否为空或长度小于等于1,如果是的话直接返回该字符串。然后将字符串转换为字符数组,使用双指针法,从字符串的两端依次交换字符,直到指针相遇。最后将字符数组转换为字符串并返回。

以下是一个示例程序来测试上述函数:

public static void main(String[] args) {
    String str = "Hello, world!";
    System.out.println("原始字符串: " + str);
    
    String reversedStr = reverseString(str);
    System.out.println("反转后的字符串: " + reversedStr);
}

输出结果:

原始字符串: Hello, world!
反转后的字符串: !dlrow ,olleH

这个函数的时间复杂度是O(n),其中n是字符串的长度。