給定乙個字串(以字元陣列的形式給出)和乙個偏移量,根據偏移量原地旋轉字串(從左向右旋轉)
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 ...