16 左旋轉字串

2021-06-28 03:23:54 字數 465 閱讀 4000

題目:

定義字串的左旋轉操作:把字串前面的若干個字元移動到字串的尾部。

如把字串abcdef 左旋轉2 位得到字串cdefab。請實現字串左旋轉的函式。

要求時間對長度為n 的字串操作的複雜度為o(n),輔助記憶體為o(1)。

分析:其實也看到這道題就是一道水題,不過題意中規定了記憶體的大小只能為o(1),所以加大了一點點難度,我們可以這樣解決:ab可以先反轉a, 然後再反轉b,然後反轉整個字串。

**實現:

#include#includeusing namespace std;

void reverse(string::iterator t1, string::iterator t2)

}void solve(string &s, int n)

int main()

return 0;

}

左旋轉字串

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