题目链接:左旋转字符串
题意:
对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。
解题思路:
先截取前n个字符,然后截取剩下的字符,进行拼接
如果n的大小超过字符串长度,只需对字符串长度进行取余 如果为空,直接返回
class Solution {
public:
string LeftRotateString(string str, int n) {
if(str==""){ // 如果为空,直接返回
return str;
}
n = n % str.size(); // 如果n超过字符串长度,取余
string s = str.substr(0, n); // 截取前n个字符
string s1 = str.substr(n); // 截取后面的字符
str = s1 + s; // 进行字符串拼接
return str;
}
};