26.左旋轉字串
題目:定義字串的左旋轉操作:把字串前面的若干個字元移動到字串的尾部。
如把字串abcdef 左旋轉2 位得到字串cdefab。請實現字串左旋轉的函式。
要求時間對長度為n 的字串操作的複雜度為o(n),輔助記憶體為o(1)
思路:先反轉整個字串 -> fedcba 在分別反轉各個子字串 fedc - ba -> cdef - ab
1package
com.rui.microsoft;23
public
class
test26_leftrotatestring 910
public
static string leftrotate(string s, int
from)
2324
private
static
string reverse(string s)
33return
string.copyvalueof(as);34}
3536
private
static
void swap(char a, int i, int
j)41 }
微軟100題 26 左旋轉字串
題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 分析一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後兩...
微軟面試100題 左旋字串
定義字串的左旋操作 將字串前面的若干個字元移動到字串的尾部 如 abcde 左旋2位 cdeab 思路 ab ba cde edc baedc cdeab 分3部分反轉 public static void leftstr 1 stringbuilder str,int k private stat...
26 左旋轉字串
題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 分析 一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後...