原題來自《programming pearls》,記錄在此作為讀書筆記。指定長度為n個字元的字串,實現將其左旋i位的演算法。如abcdefgh左旋3位為defghabc。
記原字串為s,將其分為兩個子串,s=a+b。記len(x)表示為字串x的長度。其中a的長度為i,b的長度為len(s)-i。定義+為字串拼接操作。
解法一,用臨時字串t記錄a,然後將b左移i位,再將t拼接回b之後。
public static void rotate1(char src, int i)
}public static void rotate2(char src, int i)
演算法 左旋轉字串
對於乙個給定的字串行 s,把其迴圈左移 n 位後的序列輸出。例如字串行 s abcdef 輸出迴圈左移3位後的結果,即 defabc 字串 s 為abcdef,n 3,設x abc,y def,原字串可以表示成xy。此時用t表示翻轉,x的翻轉為xt,即xt cba,同理yt fed,那麼yx xty...
左旋字串
1.問題描述 字串的左旋操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如輸入字串 abcdefg 和數字2,該函式將返回左旋轉2位得到的結果 cdefgab 來自 劍指offer 2.分析 其實和翻轉單詞順序差不多,我們可以先將前面2位翻轉得到 ba,在將後...
左旋字串
定義字串左旋轉操作 把字串前面的若干個字元移動到字串尾部,如把字串 abcdef 左旋轉 2位得到字串 cdefab 請實現字串左旋轉的函式,要求對長度為 n 的字串操作的時間複雜度為 o n 空間複雜度為 o 1 author administrator public class leftshif...