编写一个字符串反转函数(例如将字符串abc123反转成321cba),使用Java实现,要求算法优化。
时间: 2024-09-13 19:06:48 浏览: 55
在Java中,编写一个高效的字符串反转函数,可以利用StringBuilder或StringBuffer的reverse()方法,这两个类都是线程安全的,特别适合处理大量数据。如果你想要手动实现,不使用内置方法,可以采用双指针交换字符的方式,从两端向中间遍历。
以下是Java中使用StringBuilder实现的代码:
```java
public class Main {
public static void main(String[] args) {
String str = "abc123";
String reversedStr = reverseString(str);
System.out.println("Reversed string: " + reversedStr);
}
public static String reverseString(String s) {
StringBuilder sb = new StringBuilder(s);
return sb.reverse().toString();
}
}
```
如果你想手动实现,这里是手动反转字符串的方法:
```java
public static String reverseStringManually(String s) {
char[] chars = s.toCharArray();
int start = 0;
int end = chars.length - 1;
while (start < end) {
// 交换两个指针指向的字符
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
// 移动指针
start++;
end--;
}
return new String(chars);
}
```
阅读全文