#include<iostream>
using namespace std;
void LeftShiftOne(char* s, int n);
void LeftRotateString(char* s, int n, int m);
int main()
{
char* a = new char[1000];
int n;//总长度
int m;//倒转前m个字符
cin >> a;
cin >> n;
cin >> m;
LeftRotateString(a,n,m);
cout << a << endl;
}
//一个字符移到字符串末尾
//长度n
void LeftShiftOne(char *s,int n){
char t = s[0];
for (int i = 1; i < n;i++)
{
s[i - 1] = s[i];
}
s[n - 1] = t;
}
///调用m次
void LeftRotateString(char* s, int n, int m)
{
while (m--)
{
LeftShiftOne(s, n);
}
using namespace std;
void LeftShiftOne(char* s, int n);
void LeftRotateString(char* s, int n, int m);
int main()
{
char* a = new char[1000];
int n;//总长度
int m;//倒转前m个字符
cin >> a;
cin >> n;
cin >> m;
LeftRotateString(a,n,m);
cout << a << endl;
}
//一个字符移到字符串末尾
//长度n
void LeftShiftOne(char *s,int n){
char t = s[0];
for (int i = 1; i < n;i++)
{
s[i - 1] = s[i];
}
s[n - 1] = t;
}
///调用m次
void LeftRotateString(char* s, int n, int m)
{
while (m--)
{
LeftShiftOne(s, n);
}
}
时间复杂度O(mn)
空间复杂度O(1)