码迷,mamicode.com
首页 > 其他好文 > 详细

左旋转字符串

时间:2016-06-24 23:44:39      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:

题目

字符串左移k位后的结果

解题

旋转三次

public class Solution {
    public String LeftRotateString(String str,int n) {
        if(str == null || str.length() <=1)
            return str;
        int len= str.length();
        n = n%len;
        char[] A = str.toCharArray();
        reverse(A,0,len-1);
        reverse(A,0,len-n-1);
        reverse(A,len-n,len-1);
        return String.valueOf(A);
    }
    // 旋转
    public void reverse(char[] A,int left, int right){
        int i = left;
        int j = right;
        while(i<j){
            swap(A,i,j);
            i++;
            j--;
        }
    }
    // 交换
    public void swap(char[] A,int i,int j){
        char ch = A[i];
        A[i] = A[j];
        A[j] = ch;
    }
}

左旋转字符串

标签:

原文地址:http://blog.csdn.net/qunxingvip/article/details/51755145

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!