文章出處

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

基本的字符串子串和拼接。C++里的string的substr(int start_index, int count) 起始索引和數量。

這種題目就喜歡在細節上挖坑,比如字符串長度為0,你怎么搞?要能夠應對這種情況。過分專注細節,這樣的任務應當交給機器去做。

class Solution {
public:
    string LeftRotateString(string str, int n){
        int len = str.length();
        if (len == 0){
            return "";
        }
        n = n%len;
        string result = str.substr(n, len - n) + str.substr(0, n);
        return result;
    }
};

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()