剑指 Offer 58 - II. 左旋转字符串

 解法一思路:

1.将前n个字符串存放在一个新的数组temp中

2.将s转化为Stringbuilder,然后删除字符串中前n个字符,追加temp

class Solution {
    public String reverseLeftWords(String s, int n) {
        if(s==null ||s.length()==0){
            return null;
        }
        char[] arr=s.toCharArray();
        char[] temp=new char[n];
        for(int i=0;i<n;i++){
            temp[i]=arr[i];
        }
        StringBuilder sb=new StringBuilder(s);
        sb.delete(0,n);
        sb.append(temp);
        return sb.toString();
    }
}

解法二:

1.新建一个StringBuilder() sb

2.向sb中加入n+1至末位的字符

3.再添加前n个字符

4.将sb转化为字符串并返回

class Solution {
    public String reverseLeftWords(String s, int n) {
        if(s==null ||s.length()==0){
            return null;
        }
        StringBuilder sb=new StringBuilder();
        for(int i=n;i<s.length();i++){
            sb.append(s.charAt(i));
        }
        for(int i=0;i<n;i++){
            sb.append(s.charAt(i));
        }
        return sb.toString();
    }
}

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页