本博文采用java實現:對字符串中指定的部分進行旋轉,如str="mmabcdfeffnn",指定abcdfeff部分進行旋轉,則得到字符串str="mmffefdcbann"。
其實現的思路,我是這樣的:將源字符串分為三部分,頭,待旋轉,尾,其中這三部分都需要進行采取截取的操作,而對於待旋轉的部分,這裡采用了一個技巧,那就是借用了StringBuffer(String string)作為中介,並調用其中的reverse()方法進行旋轉。最後得到的三部分:頭,已旋轉,尾,進行連接concat(String string)操作即可。
代碼如下:
/**
* 字符串指定的部分進行反轉
* @author zhonglinsen
* 2016-3-1 下午
*/
public class StringReverse {
public static void main(String[] args) {
String str="mmabcdefnn";
int start=2;
int end=7;
System.out.println("原先字符串: "+str);
String strNew=strReverse(str, start, end);
System.out.println("旋轉了指定位置後的字符串: "+strNew);
}
public static String strReverse(String strArg,int start,int end){
String strStart=strArg.substring(0,start);
String strEnd=strArg.substring(end+1,strArg.length());
String strSub=strArg.substring(start, end+1);
StringBuffer sb=new StringBuffer(strSub);
strSub=sb.reverse().toString();
return strStart.concat(strSub).concat(strEnd);
}
}