剑指offer之替换空格
来源:互联网 发布:mac中英文输入法切换 编辑:程序博客网 时间:2024/05/20 05:03
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解决思路:刚开始没思路时,可以由简入繁
1、先来简单的,有了大体的思路
#include <stdio.h>#include <string.h> void replace(char *a){ char b[100]; int i=0,j=0; while(a[i] != '\0'){ if(a[i]==' '){ b[j++]='%'; b[j++]='2'; b[j++]='0'; i++; }else{ b[j++]=a[i++]; } } printf("%s\n", b); }int main(){char a[100] = "my name is hee";replace(a);}
2、再上述的基础上,再拓展
#include <stdio.h>#include <string.h>#include <stdlib.h>char *replace(char *a){ int i=0,j=0;int len = strlen(a);char *b;b = (char *)malloc(len+1);memset(b, 0, sizeof(b)); while(i<len){ if(a[i]==' '){ len = len +2; b=(char *)realloc(b, len); //每次遇到空格,增大2个空间 memcpy(b+j, "%20", 3); j=j+3; i++; }else{ b[j++]=a[i++]; } }b[j]='\0';return b;} int main(){char a[100];gets(a); //输入字符串 char *b = replace(a);printf("%s\n", b);free(b);b = NULL;}
0 0
- 剑指Offer之替换空格
- 剑指Offer之 - 替换空格
- 剑指offer之替换空格
- 剑指offer之空格替换
- 剑指offer之替换空格
- 剑指offer之替换空格
- 剑指offer之替换空格
- 《剑指offer》之替换空格
- 剑指offer之 替换空格
- 剑指offer之替换空格
- 剑指offer之替换空格问题
- 剑指offer面试题之替换空格
- 码农小汪-剑指Offer之5 -替换空格
- 剑指offer之替换字符串中的空格
- 剑指offer(四)之替换空格
- 剑指Offer之字符串空格替换问题
- (二)剑指Offer之替换空格
- 剑指offer之空格替换java
- TCP/IP基础(四)
- Python 3.4版本对于Excel表的操作
- 04_从磁盘读取Java程序,并显示在屏幕上
- 如何搭建个人视频点播服务器
- android学习第二天,View
- 剑指offer之替换空格
- AndroidStudio 快捷键
- Linux SUID和SGID的理解
- android中TabActivity使用的详细说明
- 软件设计之旅(3)软件需求规格说明
- 数组中重复的数字
- pb游标规则、datastore、服务器时间
- 电源可靠性设计的11个建议
- 用java操作redis