字符串——旋转字符串

来源:互联网 发布:网络病毒软件下载 编辑:程序博客网 时间:2024/04/29 23:55



技巧:与字符串交换的面试题目,大部分是活用局部逆序函数这么一个组合的过程,需重点掌握该技巧!

这道题和剑指Offer的字符串的左旋转操作基本一样(前者n代表下标,后者代表位数)

思路:


public class RotateString {public static String rotateString(String str, int n){if(str.length()==0||str==null||n<0||n>str.length()-1)return str;char[] ch=str.toCharArray();f(ch,0, n);f(ch, n+1,ch.length-1);f(ch, 0,ch.length-1);return String.valueOf(ch);}// 局部逆序函数public static void f(char[] ch, int begin, int end) {if (ch == null || ch.length == 0 || begin == end)return;while (begin < end) {char temp = ch[begin];ch[begin] = ch[end];ch[end] = temp;begin++;end--;}}}