劍指offer(43)左旋轉字串

2021-09-18 00:19:57 字數 853 閱讀 7431

/*使用內建函式,用三個reverse(),先分別反轉前k,再反轉後面的,再整體翻轉

public class solution

int length = str.length();

string strpart1 = str.substring(0, n);

string strpart2 = str.substring(n, length);

string restrpart1 = new stringbuffer(strpart1).reverse().tostring();

string restrpart2 = new stringbuffer(strpart2).reverse().tostring();

string temp = restrpart1 + restrpart2;

string res = new stringbuffer(temp).reverse().tostring();

return res;}}

*/public class solution   

char chs = str.tochararray();

int length = chs.length;

reverse(chs, 0, n - 1);

reverse(chs, n, length - 1);

reverse(chs, 0, length - 1);

// return chs.tostring();不可以,因為陣列本身輸出就不是乙個乙個的元素,而是位址表示

return new string(chs);

}public void reverse(char chs, int start, int end)}}

劍指offer 43 左旋轉字串

題目 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路 首先取得字串...

劍指offer43左旋轉字串

組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路 前n個字串進行翻轉...

劍指offer 43左旋轉字串

題目描述 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!class s...