LintCode 8 反轉字串

2021-09-24 14:15:04 字數 1159 閱讀 5109

給定乙個字串(以字元陣列的形式給出)和乙個偏移量,根據偏移量原地旋轉字串(從左向右旋轉)

offset >= 0

str的長度 >= 0

輸入:  str="abcdefg", offset = 3

輸出: str = "efgabcd"

樣例解釋: 注意是原地旋轉,即str旋轉後為"efgabcd"

輸入: str="abcdefg", offset = 0

輸出: str = "abcdefg"

樣例解釋: 注意是原地旋轉,即str旋轉後為"abcdefg"

輸入: str="abcdefg", offset = 1

輸出: str = "gabcdef"

樣例解釋: 注意是原地旋轉,即str旋轉後為"gabcdef"

輸入: str="abcdefg", offset =2

輸出: str = "fgabcde"

樣例解釋: 注意是原地旋轉,即str旋轉後為"fgabcde"

輸入: str="abcdefg", offset = 10

輸出: str = "efgabcd"

樣例解釋: 注意是原地旋轉,即str旋轉後為"efgabcd"

在陣列上原地旋轉,使用o(1)的額外空間

class solution 

for (int i = 0; i < str.size()-offset; i++)

}};

上面的方法執行提交後,你會發現效率還是非常低的,下面給出了優化後的方法,利用str的特性,其中乙個substr方法擷取字串。

class solution 

if(offset >= str.size())

offset %= str.size();

string s1 = str.substr(str.size()-offset,offset);

string s2 = str.substr(0,str.size()-offset);

str = s1+s2;

}};

LintCode 8 旋轉字串

問題描述給定乙個字串和乙個偏移量,根據偏移量旋轉字串 從左向右旋轉 樣例 對於字串 abcdefg offset 0 abcdefg offset 1 gabcdef offset 2 fgabcde offset 3 efgabcd 問題分析偏移量 字串長度 真正的偏移量 可以這樣理解,假設off...

一次過 Lintcode 8 旋轉字串

給定乙個字串 以字元陣列的形式給出 和乙個偏移量,根據偏移量原地旋轉字串 從左向右旋轉 樣例 1 輸入 str abcdefg offset 3 輸出 str efgabcd 樣例解釋 注意是原地旋轉,即str旋轉後為 efgabcd 樣例 2 輸入 str abcdefg offset 0 輸出 ...

《Lintcode簽到》8 旋轉字串

描述 給定乙個字串 以字元陣列的形式給出 和乙個偏移量,根據偏移量原地旋轉字串 從左向右旋轉 樣例 1 輸入 str abcdefg offset 3 輸出 str efgabcd 樣例解釋 注意是原地旋轉,即str旋轉後為 efgabcd 樣例 2 輸入 str abcdefg offset 0 ...