0
点赞
收藏
分享

微信扫一扫

左旋转字符串(简单)

小北的爹 2022-02-11 阅读 105
javaleetcode

题目描述

示例1

示例2

做题思路

代码

class Solution {
    public String reverseLeftWords(String s, int n) {
        n=n%s.length();//考虑到n大于字符串长度的情况
        int size=0;
        char[] ss=new char[s.length()];
        //将字符串转换为字符数组
        for(int i=0;i<s.length();i++){
            ss[size++]=s.charAt(i);
        }
        reverseWords(ss,0,n-1);//先反转区间为前n的子数组
        reverseWords(ss,n,size-1);//再反转区间为n到末尾的子数组
        reverseWords(ss,0,size-1);//最后反转整个数组
        return new String(ss,0,size);//将字符数组ss转换为字符串返回
    }
    
    //反转指定区间的数组
    public void reverseWords(char[] s,int head,int tail){
        for(int i=head,j=tail;i<j;i++,j--){
            char temp=s[i];
            s[i]=s[j];
            s[j]=temp;
        }
    }

 

举报

相关推荐

0 条评论