替换空格
来源:互联网 发布:php固定资产管理系统 编辑:程序博客网 时间:2024/05/25 01:36
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解法1:
从头到尾遍历字符串,每次遍历到空格的时候,将空格替换为目标字符串,时间复杂度为O(n^2)
解法2:
从头到尾遍历字符串,如果遇到空格,则对应位置复制目标字符串
解法3:
首先遍历字符串中空格的个数,然后从后向前遍历,将字符直接移动到最终的位置,时间复杂度为O(n^2)
代码如下:
void replaceSpace(char *str,int length) {//未考虑修改后的字符串长度超过预期长度,这个length在书上指的是最大容量,面试的时候要问 if(length<1) { return; } int numofspace=0; for(int i=0;i<length;++i) { if(str[i]==' ') { ++numofspace; } } int newlen=length+numofspace*2;//计算出新长度 int i=length-1,j=newlen-1;//从后往前拷贝,防止覆盖,也避免重复移动 while(i>-1&&j>i)//新增加j>i这一个条件,当j=i的时候说明已经没有空格了,不需要继续替换! { if(str[i]!=' ') { str[j--]=str[i--]; } else { str[j--]='0'; str[j--]='2'; str[j--]='%'; --i; } } return; }
0 0
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 微信小程序 —— 开发者初步
- js的call函数"源码"
- 全排列
- WINDOWS编程学习2:C windwos编程中常用的头文件的说明
- WINDWOS编程学习3:windwos HolleMessage程序说明
- 替换空格
- Unity3D手游开发日记(11) - 基于共享骨骼简单高效的换装方案
- js的apply函数"源码"
- Mac下搭建React Native iOS开发环境
- 函数指针的正向调用案例
- centos7.2安装dcos
- Android 低版本 volley 401 错误处理
- Nt**、Zw**和Rtl** 开头的函数介绍
- datagrid的columns属性支持对象的子属性(类似user.userName)的方法