要求:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)
样例
对于字符串 "abcdefg".
offset=0 => "abcdefg"
offset=1 => "gabcdef"
offset=2 => "fgabcde"
offset=3 => "efgabcd"
暂时只想到了暴力破解的方法(accept),感觉字符串要是特别长,移动起来还是耗费很长时间,以后再仔细考虑考虑。代码如下:
public class Solution { /** * @param str: an array of char * @param offset: an integer * @return: nothing */ public void rotateString(char[] str, int offset) { // write your code here if(str.length==0) return; int realoffset=offset%str.length; char c; while(realoffset!=0){ c=str[str.length-1]; for(int i=str.length-1;i>0;i--) { str[i]=str[i-1]; } str[0]=c; realoffset--; } } }