剑指offer(2)—替换空格
2017-08-25 11:19
176 查看
替换空格
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路
先统计空格的个数count,对数组进行长度扩展,用两个指针p1和p2,p1指向原字符串的最后一个元素length−1,p2指向扩展后的字符串的最后一个元素length+2∗count−1,同时向前移动,若p1指向空格,则对p2进行替换代码
class Solution { public: void replaceSpace(char *str,int length) { int count = 0; for(int i = 0; i < length; i++){ if(str[i] == ' ') count++; } int p1 = length-1, p2 = length+2*count-1; while(p1>=0){ if(str[p1] == ' '){ str[p2--] = '0'; str[p2--] = '2'; str[p2--] = '%'; p1--; }else{ str[p2] = str[p1]; p2--;p1--; } } return; } };
相关文章推荐
- 剑指offer(2)-替换空格
- 《剑指offer》Python语言 面试题4:替换空格
- 剑指Offer(二)替换空格
- 剑指offer-替换空格
- 牛客网刷题--剑指offer(替换空格)
- 《剑指offer》——二维数组中的查找 和 替换空格
- 剑指Offer(Java)-替换空格
- 《剑指offer》替换空格
- 《剑指Offer》学习笔记--面试题4:替换空格
- 剑指offer 02-—替换空格
- 《剑指offer》之替换空格
- 《剑指offer》替换空格
- 剑指offer-替换空格
- 《剑指offer》面试题4(替换空格)
- 剑指Offer:面试题4 替换空格
- 剑指offer:字符串(替换空格)
- (剑指offer)替换空格
- 剑指offer--替换空格
- 剑指offer第二题,替换字符串中的空格(String,StringBuffer,StringBuilder区别)
- 算法系列——替换空格(剑指offer)