定義字串的左旋轉操作,把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab,請實現字串左旋轉函式。
要求時間複雜度o(n),空間複雜度o(1).
解法是將前k個字串反轉,後面的字串同樣反轉,再對整個字串進行一次翻轉。
1void swap(string &a,int low,int high)
2 12 }
1314
if(str.length()<=k)return
0;15 swap(str,0,k-1);
16 swap(str,k,str.length()-1);
17 swap(str,0,str.length()-1);
左旋轉字串
題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 思想 旋轉三次 include include using namespace std v...
左旋轉字串
package com.string 旋轉字串 q 26 左旋轉字串 題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 public cla...
左旋轉字串
如abc,左旋1得到bca,左旋2得到cab o n k 的演算法 include using namespace std include include include include include include include include include include int main...