问题描述:
在原字符串中把尾部m个字符移动到字符串的头部,要求:长度为n字符串操作时间复杂度为O(n),空间复杂度为O(1)。 如:原字符串为”Ilovebaofeng”,m=7,输出结果:”baofengIlove
void leftshift(string &s , int m)
{
int len = s.size() ;
if( len-1 > m )
{
int t = len - m ;
reverse(s,0,t-1);
reverse(s,t,len-1);
reverse(s,0,len-1) ;
}
}
reverse 函数见上篇
阅读全文