【剑指offer】替换空格问题
来源:互联网 发布:手机知乎怎么复制 编辑:程序博客网 时间:2024/06/05 08:47
题目:实现一个函数,把字符串中每个空格都替换成%20,例如输入“we are happy!!!”,输出“we%20are%20happy!!!”
思路:
1、若内存够多,可另开辟一足够大字符串,在新字符串上做替换,实现思路简单。
2、在原来字符串上修改,并保证后面有足够空间。
代码:
void ReplaceBlank(char* str,int strsize){ if (str == NULL || strsize <= 0) { return; } int countBlank = 0; int countStr = 0; char* p = str; while (*(p) != '\0') { countStr++; if (*p == ' ') { countBlank++; } p++; } int newLength = countStr + 2 * countBlank; if (newLength > strsize) //存不下 { return; } while (countStr >= 0 && newLength > countStr) { if (str[countStr] != ' ') { str[newLength--] = str[countStr--]; } else //遇到空格 { str[newLength--] = '0'; str[newLength--] = '2'; str[newLength--] = '%'; countStr--; } }}int main(){ char str[50] = "we are happy!!!"; int sz = strlen(str); ReplaceBlank(str,50); cout << str << endl; system("pause");}
阅读全文
0 0
- 剑指offer替换空格问题
- 【剑指offer】替换空格问题
- 剑指offer之替换空格问题
- 剑指Offer之字符串空格替换问题
- [剑指offer]替换空格
- [剑指offer]替换空格
- 剑指offer:替换空格
- 替换空格--《剑指offer》
- 剑指Offer:替换空格
- 【剑指offer】替换空格
- 《剑指Offer》--替换空格
- 剑指offer--替换空格
- 【剑指offer】替换空格
- 【剑指offer】空格替换
- 剑指offer-替换空格
- 剑指offer:替换空格
- [剑指offer]替换空格
- 《剑指offer》替换空格
- 网易2018秋招Java开发岗编程题
- TCP传输大文件(图片、文档)
- 预解释是一种毫无节操的机制(1-1-4)
- idea插件开发之Java子类继承父类
- 洛谷 P1090 合并果子
- 【剑指offer】替换空格问题
- Socket网络编程简单实例Demo,文件传输。
- JS事件委托
- 计蒜客 矩阵变换 (bfs+set)
- vld内存泄漏检查工具不能显示内存泄漏文件名与行号
- 线程池-invokeAll的使用
- java内存溢出问题处理
- springMVC笔记
- spring AOP