题解 | #替换空格#

替换空格

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

相关推荐

12-03 18:53
海南大学 Java
华为 Java开发 25K*16
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务