本博文采用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); } }