面試題58 ii 左旋轉字串

2021-10-04 19:45:18 字數 1201 閱讀 7097

題目:

字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串"abcdefg"和數字2,該函式將返回左旋轉兩位得到的結果"cdefgab"。

示例:

示例 1:

輸入: s = 「abcdefg」, k = 2

輸出: 「cdefgab」

示例 2:

輸入: 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 接下來翻轉整個字...