问题描述:
在原字符串中把尾部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 函数见上篇