劍指offer之左旋轉字符串(C++/Java雙重實現)

1.問題描述

字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"cdefgab"。
示例 1:
輸入: s = “abcdefg”, k = 2
輸出: “cdefgab”
示例 2:
輸入: s = “lrloseumgh”, k = 6
輸出: “umghlrlose”
限制:
1 <= k < s.length <= 10000

2.問題分析

其實就簡單的考察方法的運用,比如c++中的字符串的函數substr(參數1,參數2)。這個函數的用法是以參數1爲字符串索引的開始,截取參數2個字符並返回
java裏邊介紹兩種substr重載的方法
1.substr(參數1):從索引爲參數1開始截取以後所有的字符
2.substr(參數1,參數2):截取從索引爲參數1開始,參數2個字符

3.代碼實現

3.1C++代碼
  string reverseLeftWords(string s, int n) {
    return  (s+s).substr(n,s.size());
 }
3.2Java代碼
 public String reverseLeftWords(String s, int n) {
        return s.substring(n) + s.substring(0, n);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章