題目:
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串"abcdefg"和數字2,該函式將返回左旋轉兩位得到的結果"cdefgab"。
示例:
示例 1:
輸入: s = 「abcdefg」, k = 2示例 2:輸出: 「cdefgab」
輸入: s = 「lrloseumgh」, k = 6輸出: 「umghlrlose」
思想1:老實人,笨辦法,就是用兩個字串分別儲存字元,然後連線返回結果
**1:主函式和下面的一樣。
string reverseleftwords
(string s,
int n)
for(
int i=n;ilength()
;i++
) result+
=temp;
return result;
}
思想2:利用自帶的函式,函式的含義是從字串s中獲得從0,n-1位置的字串。
**2:
string reverseleftwords
(string s,
int n)
intmain()
我們通過3次字串的旋轉可以得到正確的結果,我們在面試題58 - i. 翻轉單詞順序已經寫過了翻轉函式,我們舉個例子說明證明一下:假如有abcdefg,k=2,那麼我們把ab分為前半部分,cdefg分為後半部分,分別進行翻轉,結果為:bagfedc,再將整體翻轉為:cdefgab。和答案一樣。所以思路很簡單。
string reverse
(string s,
int start,
int end)
return s;
}string reverseleftwords
(string s,
int n)
加油哦!? 面試題58 II 左旋轉字串
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 示例 1 輸入 s abcdefg k 2 輸出 cdefgab 示例 2 輸入 s lrloseumgh k...
劍指58 II 左旋轉字串
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 示例 1 輸入 s abcdefg k 2 輸出 cdefgab 示例 2 輸入 s lrloseumgh k...
面試題58 題目二 左旋轉字串
面試題58 題目二 左旋轉字串 題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串 abcdefg 左旋轉2 位得到字串 cdefgab。思路 反轉三次字串 以 abcdefg 為例,我們可以把它分為 2部分。先分別翻轉這兩部分,於是就得到 bagfedc 接下來翻轉整個字...