/**
* 定義字串左旋轉操作:把字串前面的若干個字元移動到字串尾部,如把字串"abcdef"左旋轉 2位得到字串 "cdefab"。
* 請實現字串左旋轉的函式,要求對長度為 n 的字串操作的時間複雜度為 o(n),空間複雜度為 o(1)。
* @author administrator
* */
public class leftshiftstring
char temp;
while (begin < end)
}/**
* 通過三次翻轉來實現左旋
* @param str
* @param n
*/public static void leftshift(char str, int n)
n = n % str.length;
reverse(str, 0, n - 1);
reverse(str, n, str.length - 1);
reverse(str, 0, str.length - 1);
}public static void main(string args) ;
leftshift(str, 2);
system.out.println(str);
}}
左旋字串
1.問題描述 字串的左旋操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如輸入字串 abcdefg 和數字2,該函式將返回左旋轉2位得到的結果 cdefgab 來自 劍指offer 2.分析 其實和翻轉單詞順序差不多,我們可以先將前面2位翻轉得到 ba,在將後...
左旋字串
題目要求 實現乙個函式,可以左旋字串中的k個字元。右旋字串同理 例如 abcde左旋兩個字串得到cdeab 如下 編譯環境為vs2013 define crt secure no warnings 1 include include include include 三步翻轉法 void revers...
左旋字串
題目 實現字串左旋k個字元,如 abcdef 左旋乙個字元,變為 bcdefa 左旋兩個字元,變為 cdefab 分析 首先需考慮左旋的字元個數與字串的長度之間的關係,在本題中,字串長度為6,如果k為7,則相當 於左旋乙個字元,所以,要對k進行處理,得到有效的旋轉次數。1,方法一 迴圈前移字元 分析...