题解 | #左旋转字符串#
左旋转字符串
https://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @param n int整型
* @return string字符串
*/
public String LeftRotateString (String str, int k) {
if("".equals(str)) return "";
// write code here
int n = str.length();
//k可能大于n的长度,注意取模
k %= n;
char[] chars = str.toCharArray();
reverse(chars, 0, n - 1);
reverse(chars, 0, n - k - 1);
reverse(chars, n - k, n - 1);
return String.valueOf(chars);
}
public void reverse(char[] chars, int l, int r){
if(l >= r) return;
while(l < r){
char tmp = chars[l];
chars[l] = chars[r];
chars[r] = tmp;
l ++;
r --;
}
}
}
#java##剑指offer##算法笔试#剑指Offer2-Java题解 文章被收录于专栏
剑指offer题解(java版)


