题解 | #左旋转字符串#
左旋转字符串
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版)