美文网首页
3_7字符串移位

3_7字符串移位

作者: X_Y | 来源:发表于2017-09-07 15:22 被阅读7次

    对于一个字符串,请设计一个算法,将字符串的长度为len的前缀平移到字符串的最后。

    给定一个字符串A和它的长度,同时给定len,请返回平移后的字符串。

    测试样例:
    输入:"ABCDE",5,3
    返回:"DEABC"

    class Translation {
    public:
        //逆序某个区间的字符串
        void reverse_my(string &A, int start, int end)
        {
            while(start<end){
                char temp = A[start];
                A[start] = A[end];
                A[end] = temp;
                ++start;
                --end;
            }
        }
        
        string stringTranslation(string A, int n, int len) {
            // write code here
            reverse_my(A, 0, len - 1);
            reverse_my(A, len, n - 1);
            reverse_my(A, 0, n - 1);
            return A;
        }
    };
    

    看到一位叫“千叶~”的同学,答案是下面这样:

    class Translation {
    public:
        string stringTranslation(string A, int n, int len) {
            return (A+A).substr(len,n);
            // write code here
        }
    };
    

    相关文章

      网友评论

          本文标题:3_7字符串移位

          本文链接:https://www.haomeiwen.com/subject/fzyijxtx.html