题解 | #替换空格#

替换空格

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;
    }
全部评论

相关推荐

兄弟们,实习都是在接各种api,该怎么包装简历
仁者伍敌:感觉我自己做小项目也是各种api啊,我要怎么包装简历
点赞 评论 收藏
分享
人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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