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

package leetcode;

public class offer_58 {
    //左移n个,先翻转左边n个字符,再翻转剩余的,最后将整个字符串进行翻转
    //右移n个,先翻转右边n个字符,再翻转剩余的,最后将整个字符串进行翻转
    public String reverseLeftWords(String s, int n) {
        if(s.equals("")) {return s;}
        String s1=reverse(s, 0, n);
        String s2=reverse(s, n, s.length());
        String str=reverse(s1+s2, 0, s.length());
        System.out.println(str);
        return str;
        
        
    }
    public String reverse(String s,int begin,int end) {
        StringBuilder sb=new StringBuilder();
        for(int i=end-1;i>=begin;i--) {    
            sb.append(s.charAt(i));
        }
        return sb.toString();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        offer_58 offer_58=new offer_58();
        offer_58.reverseLeftWords("abcdef", 2);
    }
}

偷懒方法

class Solution {
    public String reverseLeftWords(String s, int n) {
        if(s.equals("")) {return s;}
        String s1=s.substring(0,n);
        String s2=s.substring(n,s.length());
        return s2+s1;
    }
}

 

posted on 2022-03-04 11:04  一仟零一夜丶  阅读(16)  评论(0)    收藏  举报