本文首發于公衆号“AntDream”,歡迎微信搜尋“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點
反轉
反轉最簡單的就是用StringBuilder和StringBuffer的reverse方法
private String reverseString(String original) {
StringBuilder builder = new StringBuilder();
builder.append(original);
return builder.reverse().toString();
}
左移和右移都有很多種方式來實作,這裡簡單介紹下三次反轉法來實作左移右移
右移
/**
* 右移index位
* @param from
* @param index
* @return
*/
private String rightMoveIndex(String from, int index) {
from = reverseString(from);
String first = from.substring(0,index);
String second = from.substring(index);
first = reverseString(first);
second = reverseString(second);
from = first + second;
return from;
}
左移
/**
* 左移index位
* @param from
* @param index
* @return
*/
private String leftMoveIndex(String from, int index) {
from = reverseString(from);
String first = from.substring(0,from.length()-index-1);
String second = from.substring(from.length() -index);
first = reverseString(first);
second = reverseString(second);
from = first + second;
return from;
}
歡迎關注我的微信公衆号,和我一起每天進步一點點!