題目描述
匯編語(yǔ)言中有一種移位指令叫做循環(huán)左移(ROL)筹燕,現(xiàn)在有個(gè)簡(jiǎn)單的任務(wù)轧飞,就是用字符串模擬這個(gè)指令的運(yùn)算結(jié)果。對(duì)于一個(gè)給定的字符序列S撒踪,請(qǐng)你把其循環(huán)左移K位后的序列輸出过咬。例如,字符序列S=”abcXYZdef”,要求輸出循環(huán)左移3位后的結(jié)果制妄,即“XYZdefabc”掸绞。是不是很簡(jiǎn)單?OK忍捡,搞定它集漾!
class Solution {
public:
string LeftRotateString(string str, int n) {
int len = str.size();
reverse(str,0,n-1);
reverse(str,n,len-1);
reverse(str,0,len-1);
return str;
}
void reverse(string &strstr,int start,int end)
{
while(start<end)
{
char temp = strstr[start];
strstr[start] = strstr[end];
strstr[end] = temp;
start++;
end--;
}
return;
}
};