17370845950

java怎么反转字符串
在 Java 中,可以通过以下六种方法来反转字符串:使用 StringBuilder使用 CharArray使用 Collections.reverse()使用迭代器使用位运算符使用递归

如何使用 Java 反转字符串

在 Java 中,可以通过以下几种方法来反转字符串:

1. 使用 StringBuilder

String originalString = "Hello World";
StringBuilder reversedString = new StringBuilder();

for (int i = originalString.length() - 1; i >= 0; i--) {
    reversedString.append(originalString.charAt(i));
}

System.out.println(reversedString.toString());

2. 使用 CharArray

String originalString = "Hello World";
char[] chars = originalString.toCharArray();

for (int i = 0; i < chars.length / 2; i++) {
    char temp = chars[i];
    chars[i] = chars[chars.length - i - 1];
    chars[chars.length - i - 1] = temp;
}

String reversedString = new String(chars);
System.out.println(reversedString);

3. 使用 Collections.reverse()

String originalString = "Hello World";
List chars = new ArrayList<>();

for (char c : originalString.toCharArray()) {
    chars.add(c);
}

Collections.reverse(chars);

StringBuilder reversedString = new StringBuilder();
for (char c : chars) {
    reversedString.append(c);
}

System.out.println(reversedString.toString());

4. 使用迭代器

String originalString = "Hello World";
List chars = new ArrayList<>();

for (char c : originalString.toCharArray()) {
    chars.add(c);
}

Iterator iterator = chars.iterator();
while (iterator.hasNext()) {
    char c = iterator.next();
    iterator.remove();
    chars.add(0, c);
}

StringBuilder reversedString = new StringBuilder();
for (char c : chars) {
    reversedString.append(c);
}

System.out.println(reversedString.toString());

5. 使用位运算符

String originalString = "Hello World";
int n = originalString.length();
char[] chars = originalString.toCharArray();

for (int i = 0; i < n / 2; i++) {
    chars[i] ^= chars[n - i - 1];
    chars[n - i - 1] ^= chars[i];
    chars[i] ^= chars[n - i - 1];
}

String reversedString = new String(chars);
System.out.println(reversedString);

6. 使用递归

String originalString = "Hello World";

public static String reverseStringRecursively(String str) {
    if (str == null || str.length() == 0) {
        return str;
    }
    return reverseStringRecursively(str.substring(1)) + str.charAt(0);
}

String reversedString = reverseStringRecursively(originalString);
System.out.println(reversedString);