剑指offer-字符串空格替换为“ ”
2016-08-27 10:23
281 查看
一、问题描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
二、思路
由于规定是char*类型,所以没法用string类型字符串处理,我们从后往前依次替换,注意替换过程中需要考虑输出长度不超过length。
三、代码
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
二、思路
由于规定是char*类型,所以没法用string类型字符串处理,我们从后往前依次替换,注意替换过程中需要考虑输出长度不超过length。
三、代码
//length为牛客系统规定字符串输出的最大长度,固定为一个常数 class Solution { public: void replaceSpace(char *str,int length) { if(str == NULL || length < 0) return ; int i = 0,blank_num = 0,old_num = 0; while(str[i] != '\0'){ old_num++; if(str[i] == ' '){ blank_num++; } ++i; } int new_num = old_num + blank_num * 2; if(new_num > length) return; while(old_num >= 0 && new_num > old_num){ if(str[old_num] == ' '){ str[new_num--] = '0'; str[new_num--] = '2'; str[new_num--] = '%'; }else{ str[new_num--] = str[old_num]; } --old_num; } } };
相关文章推荐
- 【剑指offer】字符串中空格的替换
- 剑指offer 2.3 数据结构4-替换字符串中的空格
- 剑指Offer——字符串空格替换
- 剑指offer 替换字符串中的空格
- 【剑指offer】字符串的空格替换
- 剑指offer-04:字符串替换空格
- 【剑指offer】将空格替换制定字符串
- 剑指offer剖析__空格替换字符串问题
- 剑指offer 1,输入一个字符串,将字符串的空格替换成%20
- 剑指offer - 将字符串中空格替换为20%
- C++笔试题(剑指offer 面试题4 替换字符串中的空格)
- 【剑指offer】替换字符串中的空格_04
- 剑指offer----005(字符串空格替换)
- 剑指offer——字符串替换空格
- 剑指offer 4题 【字符串】替换空格
- 剑指offer之替换字符串中的空格
- 【剑指offer】请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 剑指offer 04_替换字符串中的空格
- 【剑指offer】将字符串中的空格替换成"%20"
- java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。