package com.string;
//旋轉字串
/**
* q 26 左旋轉字串
* 題目:定義字串的左旋轉操作:把字串前面的若干個字元移動到字串的尾部。
* 如把字串abcdef左旋轉2位得到字串cdefab。
* 請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o(n),輔助記憶體為o(1)。
*/
public class teststring04
public static void fun1(string str, int n)
int len = c.length - n - 1;
for (int m = 0; m < str.length() - n; m++)
for (int i = 0; i < str.length(); i++)
} public static string leftrotatestring(string str, int n)
if (n <= 0 || n >= str.length())
int begin = 0;
int end = str.length() - 1;
char letters = str.tochararray();
reversestring(letters, begin, n - 1);
reversestring(letters, n, end);
reversestring(letters, begin, end);
return new string(letters);
} public static string reversestring(char letters, int begin, int end)
for (int i = begin, j = end; i < j; i++, j--)
return new string(letters);
} }
左旋轉字串
題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 思想 旋轉三次 include include using namespace std v...
左旋轉字串
如abc,左旋1得到bca,左旋2得到cab o n k 的演算法 include using namespace std include include include include include include include include include include int main...
左旋轉字串
組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!public stati...