[剑指offer] 左旋转字符串 (C++解法)
程序员文章站
2022-07-14 18:07:39
...
面试题58 - II. 左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
C++解法
思路:使用ostringstream类型,将字符串第n位到末尾放在前面,然后将前n位放后面,比较简单。
class Solution {
public:
string reverseLeftWords(string s, int n) {
if (n >= s.size()) return s;
ostringstream oStr("");
oStr << string(s.begin() + n, s.end()) << string(s.begin(), s.begin() + n);
return oStr.str();
}
};
上一篇: 力扣2-队列的最大值
下一篇: 带树的下拉框
推荐阅读