虽然题很简单,还是莫名陷入很多坑。
方法一:我的无脑方法 转为字符数组 挪挪挪

import java.util.*;
public class Solution {
    public String LeftRotateString(String str,int n) {
        if(str==null||str.length()==0)
            return "";
        if(n==0)
            return str;
        if(n>=str.length())
            n=n%str.length();
        char[] cha=str.toCharArray();
        char[] tep=new char[n];
//拷贝前n个
        for (int i=0;i<n;i++)
            tep[i]=cha[i];
//n后面往前挪
        for(int i=0;i<cha.length-n;i++)
            cha[i]=cha[i+n];
        int i=cha.length-n;
//前n个挪回来
        for(int j=0;j<n;j++)
            cha[i++]=tep[j];


        return String.valueOf(cha);
    }
}

方法二:用子字符拼一下就好了

public class Solution {
    public String LeftRotateString(String str,int n) {
        if(str==null||str.length()==0)
            return "";
        if(n==0)
            return str;
        if(n>=str.length())
            n=n%str.length();
        return str.substring(n)+str.substring(0,n);
    }
}