Java函数:如何实现字符串的反转和旋转?
发布时间:2023-06-22 16:41:20
反转字符串:
实现字符串反转的算法比较简单,可以通过遍历字符串的每一个字符,并将其存储到一个新的字符串中,最终得到反转后的字符串。下面是Java代码实现:
public static String reverseString(String str) {
String reversedStr = "";
for (int i = str.length() - 1; i >= 0; i--) {
reversedStr += str.charAt(i);
}
return reversedStr;
}
旋转字符串:
实现字符串旋转的算法需要掌握几个关键点:
- 将字符串分为两部分,分别是左半部分和右半部分。
- 将左半部分和右半部分反转。
- 将整个字符串反转。
下面是Java代码实现:
public static String rotateString(String str, int k) {
int len = str.length();
k %= len;
char[] charArray = str.toCharArray();
reverse(charArray, 0, len - 1);
reverse(charArray, 0, k - 1);
reverse(charArray, k, len - 1);
return new String(charArray);
}
private static void reverse(char[] charArray, int start, int end) {
while (start < end) {
char temp = charArray[start];
charArray[start++] = charArray[end];
charArray[end--] = temp;
}
}
这里我们将字符串转换为字符数组,然后对字符数组进行反转操作。在反转左半部分和右半部分时,我们分别使用了reverse方法。最后再将整个字符数组反转,得到旋转后的字符串。
