字串左旋轉操作

2022-08-02 18:51:13 字數 367 閱讀 7849

定義字串的左旋轉操作,把字串前面的若干個字元移動到字串的尾部。如把字串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...