题解 | #替换空格#

替换空格

http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

C++递归 字符拼接将字符串中的空格替换成 %20 ,考虑到移动元素消耗的时间会比较多,于是想到了递归拼接,核心思路是遍历string,碰到空格就进入下一层递归。string内每个元素被访问一次,所以时间复杂度为O(n),空间复杂度上因为运用了递归,所以主要是一个递归栈的空间占用,取决于空格的数量,最坏情况下可以达到O(n)级。本解法并不高效,但是很懒。

string replaceSpace(string s) {
        // write code here
        for(int i=0;i<s.length();i++){
            if(s[i]==32)
                return s.substr(0,i)+"%20"+replaceSpace(s.substr(i+1));
        }
        return s;
    }
全部评论

相关推荐

点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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