劍指offer 左旋轉字串

2022-04-29 16:48:12 字數 746 閱讀 7076

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

方法一:直接截斷拷貝

1

public string leftrotatestring(string str,int n)

6 n = n%str.length();79

return

sb.tostring();

10 }

方法二:進行三次翻轉,abcxyzdef,3,先翻轉0-3得到cbaxyzdef,再反轉3-str.length得到cbafedzyx,最後整體翻轉得到xyzdefabc

1

public

class solution

7 n = n%str.length();

8for(int i =0,j=n-1;i)

11for(int i =n,j=str.length()-1;i)

14for(int i =0,j=str.length()-1;i)

17return

string.valueof(c);18}

19public

void sw(char c,int i,int

j)24 }

劍指offer 左旋轉字串

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

劍指offer 左旋轉字串

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

劍指offer 左旋轉字串

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