《剑指Offer》替换空格
来源:互联网 发布:手腕细 手表 知乎 编辑:程序博客网 时间:2024/06/06 16:42
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:
首先改函数形参,改为引用传入
void replaceSpace(char *&str,int length)
space记录空格数,new一个length+2*space+1的指针数组,再循环str,如果str[j]不是空格,就直接赋值,k++;如果是空格,则将%、2、0赋值给s,同时k+=3。
代码实现:
class Solution {public: void replaceSpace(char *&str,int length) { int space=0; for (int i = 0; i < length; i++){//循环记录空格的数量 if (str[i] == ' '){ space++; } } char *s = new char[length + space * 2+1];//new新空间,用来存替换空格后的字符串 int k=0; for (int j = 0; j < length; ++j){ if (str[j] != ' '){//如果str[j]不是空格,就直接赋值,k++ *(s+k) = str[j]; k++; } if (str[j] == ' '){//如果是空格,则将%、2、0赋值给s,同时k+=3 *(s+k) = '%'; *(s+k + 1) = '2'; *(s+k + 2) = '0'; k += 3; } } *(s + k + 1) = '\0';//C语言风格字符串末尾要是'\0' str = s;//将str指向s }};
结果是:运行时间: <1 ms 占用内存:9536K 状态:答案正确
0 0
- [剑指offer]替换空格
- [剑指offer]替换空格
- 剑指offer:替换空格
- 替换空格--《剑指offer》
- 剑指Offer:替换空格
- 【剑指offer】替换空格
- 《剑指Offer》--替换空格
- 剑指offer--替换空格
- 【剑指offer】替换空格
- 【剑指offer】空格替换
- 剑指offer-替换空格
- 剑指offer:替换空格
- [剑指offer]替换空格
- 《剑指offer》替换空格
- 剑指offer:替换空格
- 【剑指Offer】替换空格
- 【剑指offer】-替换空格
- 剑指offer 替换空格
- ZOJ2588-Burning Bridges
- 内核态与用户态
- python基础抓取网页
- java Web项目布署到TomCat的几个注意问题
- 【Python】改进Hopfield网络代码实现
- 《剑指Offer》替换空格
- java实现读取TXT文件的方法
- UIView的几个布局方法和重绘
- SSL 1764——最小生成树II
- 迷宫
- python 图表plot样式
- L1-006. 连续因子
- codeup模拟赛 进击的二叉查找数
- 装备选择案例