java字符串循环右移n位
时间: 2024-02-09 13:12:52 浏览: 30
可以使用Java中的字符串切片和拼接操作实现字符串循环右移n位。具体实现可以参考下面的代码示例:
```java
public static String rightShift(String str, int n) {
int len = str.length();
n %= len; // 避免 n 大于字符串长度
// 将字符串分为前后两部分,分别进行反转
String part1 = reverse(str.substring(0, len - n));
String part2 = reverse(str.substring(len - n));
// 将反转后的两部分拼接并反转得到最终结果
return reverse(part1 + part2);
}
// 反转字符串
private static String reverse(String str) {
char[] chars = str.toCharArray();
int i = 0, j = chars.length - 1;
while (i < j) {
char temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
i++;
j--;
}
return new String(chars);
}
```
使用方法:
```java
String str = "abcdefg";
int n = 3;
String result = rightShift(str, n); // "efgabcd"
```