前言
一、剑指 Offer 58 - II. 左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = “abcdefg”, k = 2 输出: “cdefgab”
示例 2:
输入: s = “lrloseumgh”, k = 6 输出: “umghlrlose”
限制:
1 <= k < s.length <= 10000
二、解决方法
1.引入库
代码如下:
开心,全靠自己手打做出来的 “字符串遍历拼接法”
class Solution {
public:
string reverseLeftWords(string s, int n) {
int _length = s.length();
string a;
int _n =n;
while( _n!= _length)
{
a+= s[_n];
_n++;
}
int j=0;
while(j<n)
{
a+= s[j];
j++;
}
return a;
}
};
字符串切片
C++
class Solution {
public:
string reverseLeftWords(string s, int n) {
return s.substr(n, s.size()) + s.substr(0, n);
}
};
PYTHON
class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
return s[n:] + s[:n]