-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathT8.java
More file actions
38 lines (36 loc) · 1.16 KB
/
T8.java
File metadata and controls
38 lines (36 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
* 字符串与字符数组相互转换
* char[] a = { 'a ', 'b ', 'c '};
* String b = new String(a);//字符数组到字符串
* char[] c = b.toCharArray();//字符串转换成字符数组
*/
public class T8 {
/**
* @param str: An array of char
* @param offset: An integer
* @return: nothing
* 设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),
* 且只允许使用两个附加变量。
*/
/**
* char[] str = {'c','p','p','j','a','v','a','p','y'};
int offset = 25;
T8 test = new T8();
test.rotateString(str, offset);
*/
public void rotateString(char[] str, int offset) {
// write your code here
if (str.length != 0) {
for (int i = 0; i < offset%str.length; i++) {
char tmp = str[str.length-1];
for (int pos = str.length - 2; pos >= 0; pos--) {
str[pos+1] = str[pos];
}
str[0] = tmp;
}
for (int k = 0; k < str.length; k++) {
System.out.println(str[k]);
}
}
}
}