题解 | 左旋转字符串

左旋转字符串

https://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec

1、暴力遍历并且往队尾插

2、三次反转

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param str string字符串 
     * @param n int整型 
     * @return string字符串
     */
    string LeftRotateString(string str, int n) {
        // deque<char> q;
        // for(auto ch : str)
        // {
        //     q.push_back(ch);
        // }
        // while(n--)
        // {
        //     char tmp;
        //     tmp = q.front();
        //     q.pop_front();
        //     q.push_back(tmp);

        // }
        // string res(q.begin(),q.end());
        // return res;

        n = n % str.size();
        if(str.size() == 0) return "";
        reverse(str.begin(), str.end());
        reverse(str.begin(), str.begin()+str.size()-n);
        reverse(str.begin()+str.size()-n, str.end());
        return str;

    }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务