我来详细讲解一下“Java 字符串反转实现代码”的攻略。
什么是字符串反转
字符串反转是指将一个字符串的顺序颠倒过来,即从后往前读取原字符串。比如,将字符串“hello”反转后得到的字符串为“olleh”。
字符串反转的实现方法
Java 中字符串是不可变的对象,因此不能直接对字符串进行反转。我们可以通过将字符串转换为字符数组,并且进行字符数组的反转,最后再将字符数组转换为字符串的方式实现字符串的反转。
字符数组反转
首先,我们需要将字符串转换为字符数组。我们可以使用 toCharArray()
方法将字符串转化成字符数组。
字符数组转换反转代码如下:
public static char[] reverse(char[] arr, int start, int end) {
while (start < end) {
char temp = arr[start];
arr[start++] = arr[--end];
arr[end] = temp;
}
return arr;
}
此方法为指定字符数组中一段区间进行反转的实现代码。其中,start
参数表示数组反转起点的下标,end
参数表示数组反转的终点下标。我们使用 while
循环将这两个下标逐步靠近,并在循环中通过交换字符的位置,完成了字符数组的反转。
完整实现代码
public class StringReverse {
public static String reverse(String input) {
char[] arr = input.toCharArray();
reverse(arr, 0, arr.length);
return new String(arr);
}
public static char[] reverse(char[] arr, int start, int end) {
while (start < end) {
char temp = arr[start];
arr[start++] = arr[--end];
arr[end] = temp;
}
return arr;
}
public static void main(String[] args) {
String str1 = "Hello World!";
String reverseStr1 = reverse(str1);
System.out.println("Original String: " + str1);
System.out.println("Reversed String: " + reverseStr1);
String str2 = "abcdef";
char[] arr2 = str2.toCharArray();
reverse(arr2, 0, arr2.length);
System.out.println("Original String: " + str2);
System.out.println("Reversed String: " + new String(arr2));
}
}
上述代码中,第一个反转示例 str1
会输出 "!dlroW olleH"
,第二个反转示例 str2
会输出 "fedcba"
。
这就是 Java 字符串反转的实现方法。
希望这份攻略对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 字符串反转实现代码 - Python技术站