字符串循环右移

public class Test {

private String reverse(String s,int f,int t){
char[] cs = s.toCharArray();
if(cs.length > t && t > f){
int i,j;
for(i=f,j=t; i < j; ++i,--j){
char x = cs[i];
cs[i] = cs[j];
cs[j] = x;
}
/*for(char c :cs){
System.out.print(c);
}*/
}
return new String(cs);
}

public String shiftRight(String s ,int n,int k){

             

            if(k > 0 && n > 0){

               k = k % n;

              String s1 =   reverse(s, 0, k - 1);
              String s2 =   reverse(s1, k, n - 1);
              String s3 =  reverse(s2, 0, n - 1);

            }

              
         return s3;         
}

public static void main(String[] args) {
int k = 4;
String s = "abcdefgh";
Test t = new Test();
System.out.println(t.shiftRight(s, s.length(), k));
}

}

你可能感兴趣的:(算法)