Java中如何反转字符串?
时间: 2024-09-15 15:05:52 浏览: 47
在Java中,反转字符串可以通过多种方法实现,这里列举几种常见的方法:
1. **字符数组**:将字符串转换成字符数组,然后使用两个指针分别从两端向中间遍历并交换字符。
```java
public String reverseString(String str) {
char[] chars = str.toCharArray();
int start = 0, end = chars.length - 1;
while (start < end) {
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
}
return new String(chars);
}
```
2. **StringBuilder/ StringBuffer**:这两个类提供方便的反转方法。`StringBuilder`是线程不安全的,`StringBuffer`是线程安全的。
```java
public String reverseString(String str) {
return new StringBuilder(str).reverse().toString();
}
```
3. **Java 8+** 使用流(Stream API)也可以简单地实现:
```java
public String reverseString(String str) {
return new StringBuilder(str).chars().mapToObj(c -> (char)c)
.collect(Collectors.reverse())
.join("");
}
```
以上三种方法都是O(n)的时间复杂度,n为字符串长度。
阅读全文