1. 程式人生 > >劍指offer -- 左旋轉字串

劍指offer -- 左旋轉字串

題目描述

組合語言中有一種移位指令叫做迴圈左移(ROL),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於一個給定的字元序列S,請你把其迴圈左移K位後的序列輸出。例如,字元序列S=”abcXYZdef”,要求輸出迴圈左移3位後的結果,即“XYZdefabc”。是不是很簡單?OK,搞定它!

AC程式碼

class Solution {
public:
    void reverse(string &s,int start,int end)
    {
        char temp;
        while(start<end)
        {
temp=s[start]; s[start]=s[end]; s[end]=temp; start++; end--; } } string LeftRotateString(string str, int n) { int len=str.length(); if(0==len || 0==n) return str; string &temp=str; reverse
(temp,0,n-1); reverse(temp,n,len-1); reverse(temp,0,len-1); return str; } };