j ava原地逆转字符串
时间: 2023-12-02 10:05:48 浏览: 92
以下是Java中原地逆转字符串的代码:
```java
public static void reverseString(char[] s) {
int left = 0;
int right = s.length - 1;
while (left < right) {
char temp = s[left];
s[left] = s[right];
s[right] = temp;
left++;
right--;
}
}
```
该方法接收一个字符数组作为参数,并使用双指针法对其进行原地逆转。具体来说,我们使用两个指针,一个指向字符串的开头,一个指向字符串的末尾,然后交换它们所指向的字符,直到两个指针相遇。
相关问题
j ava string字符串倒转
在Java中,你可以使用StringBuilder或StringBuffer类的reverse()方法来反转字符串。这两个类都是可变的字符序列,提供了方便的字符串操作。以下是使用这两种方法的例子:
1. 使用StringBuilder:
```java
public String reverseString(String str) {
StringBuilder sb = new StringBuilder(str);
return sb.reverse().toString();
}
```
2. 使用StringBuffer (虽然不如StringBuilder高效,但线程安全):
```java
public String reverseString(String str) {
StringBuffer sb = new StringBuffer(str);
return sb.reverse().toString();
}
```
如果你不想创建新的字符串对象,也可以使用char数组和索引来手动实现:
```java
public String reverseString(String str) {
char[] chars = str.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);
}
```
j ava字符串反转输出
在Java中,你可以使用多种方法来反转一个字符串并将其输出。这里介绍一种常见的简单方法,即使用StringBuilder或StringBuffer类的reverse()方法:
```java
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
StringBuilder sb = new StringBuilder(str);
String reversedStr = sb.reverse().toString();
System.out.println("Reversed string: " + reversedStr);
}
}
```
在这个例子中,我们首先创建了一个StringBuilder对象,并将原始字符串赋值给它。然后调用`reverse()`方法反转字符串,最后使用`toString()`方法将StringBuilder转换回普通字符串并打印出来。
如果你想保持原地修改而不创建新的字符串,可以使用StringBuffer,其操作方式类似:
```java
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
StringBuffer sb = new StringBuffer(str);
sb.reverse();
System.out.println("Reversed string: " + sb.toString());
}
}
```
阅读全文