题解 | #左旋转字符串#

左旋转字符串

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

小白解题
又是这种带顺序的字符数组的变换,老样子,考虑单个又累又不好用,创建新的数组,讲符合要求的放入即可。
需要注意vector与string之间的转换。
代码:

class Solution {
public:
    string LeftRotateString(string str, int n) {
        int l = str.size();
        vector<char>s;
        string st;

        for(int i=n;i<l;i++){
            s.push_back(str[i]);
        }
        for(int j=0;j<n;j++){
            s.push_back(str[j]);
        }
        return st.assign(s.begin(),s.end());
    }
};

别人的思路:
看了一下别人的思路,主要有两种:1、讲字符串分为两部分,掉个位置再组合,这里需要用到substr之类的函数;2、挺有意思的解法,字符串分为两部分,每部分翻转一下,然后组合再翻转一下,只是在C++中翻转实现简单吗?

全部评论

相关推荐

12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
抓蛙得要春天:在我眼里看起来干净整洁,排版基本没什么问题,在HR看来,哦对了,HR不会看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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