LintCode 8---旋转字符串

Posted cnmoti

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode 8---旋转字符串相关的知识,希望对你有一定的参考价值。

/*
给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)
 */
public class Lint8 {
    public static void main(String[] args) {
        
    }
    public void rotateString(char[] str, int offset) {
        // write your code here
        if (str == null || str.length == 0)return;
        offset = offset % str.length;
        reverse(str, 0, str.length - offset - 1);
        reverse(str, str.length - offset, str.length - 1);
        reverse(str, 0, str.length - 1);
    }
    private void reverse(char[] str, int start, int end) {
        for (int i = start, j = end; i < j; i++, j--) {
            char temp = str[i];
            str[i] = str[j];
            str[j] = temp;
        }
    }
}

 

以上是关于LintCode 8---旋转字符串的主要内容,如果未能解决你的问题,请参考以下文章

LintCode刷题---旋转字符串

lintcode: 旋转图像

lintcode-寻找旋转排序数组中的最小值 java 需复习

LintCode Python 简单级题目 39.恢复旋转排序数组

lintcode:寻找旋转排序数组中的最小值 II

lintcode 170旋转链表