写一个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是字符串的长度。
