码迷,mamicode.com
首页 > 其他好文 > 详细

[剑指offer] 替换空格

时间:2017-11-25 16:11:04      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:实现   超时   ott   题目   直接   操作   scribe   app   void   

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

刚开始用replace实现了一个replaceAll结果超时。。所以还是直接操作吧:

先求出新的长度然后从后往前遍历替换。

我的代码:

class Solution {
public:
    void replaceSpace(char *str,int length) {
        int countBlank = 0;
        for (int i = 0; i < length; i++) {
            if (str[i] ==  ) countBlank++;
        }
        int newLength = length + 2 * countBlank;
        int strPos = length;
        for (int i = newLength; i >= 0; i--, strPos--) {
            if (str[strPos] ==  ) {
                str[i--] = 0;
                str[i--] = 2;
                str[i] = %;
            } else str[i] = str[strPos];
        }
    }
};

 

[剑指offer] 替换空格

标签:实现   超时   ott   题目   直接   操作   scribe   app   void   

原文地址:http://www.cnblogs.com/zmj97/p/7895361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!