《剑指Offer》学习笔记——替换空格
来源:互联网 发布:美妆凯文老师的淘宝店 编辑:程序博客网 时间:2024/06/06 00:33
题目描述 :请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution {public:void replaceSpace(char *str,int length) {//思路就是计算出替换后的字符串的长度,利用两个指针, //一个指向就字符串的末尾,一个指向新字符串的末尾 // 进而从后向前面遍历,这样子节约时间,移位的效率高, //因为没有做多余的移位操作; if(str==NULL||length<=0) return; int originalLength=0; int newLength=0; int blankNum=0; int i=0; while(str[i]!='\0')//如果用*str计算字符串长度,程序运行结果不正确,为什么?? { originalLength++; if(str[i]==' ') blankNum++; i++; } newLength=originalLength+2*blankNum; if(newLength>length) return; int indexOriginal=originalLength; int indexNew=newLength; while(indexOriginal>=0&&indexNew>indexOriginal) { if(str[indexOriginal]==' ') { str[indexNew--]='0'; str[indexNew--]='2'; str[indexNew--]='%'; } else str[indexNew--]=str[indexOriginal]; indexOriginal--; }}};
0 0
- 《剑指Offer》学习笔记——替换空格
- 剑指offer—替换空格
- 剑指offer—替换空格
- 《剑指Offer》学习笔记--面试题4:替换空格
- 《剑指offer》——替换空格
- 《剑指offer》——替换空格
- 剑指offer——替换空格 C++
- 剑指Offer——替换空格
- 《剑指offer》——替换空格
- 剑指offer——字符串空格替换
- 剑指Offer——替换空格
- 替换空格——剑指offer
- 剑指offer —— 替换空格
- 剑指offer——替换空格
- 剑指offer——替换空格
- 剑指offer——空格替换
- 剑指offer——替换空格
- 剑指offer——替换空格
- mac下虚拟机Ubuntu下配置PHP+Apache+MySQL服务器环境以及按照Laravel
- 关于基本控件EditText属性大全详解
- JavaScript语言精粹——正则
- Mark PCIE
- Visual Studio 不生成.vshost.exe和.pdb文件的方法
- 《剑指Offer》学习笔记——替换空格
- 摄像机定标立体匹配
- Android布局动画
- Spring MVC
- c++类中的六种默认函数
- get post的区别
- [hihoCoder 1187] Divisors (微软预科生计划-探星夏令营在线测试)
- 浅析 Java 内部类
- SQL的COUNT调优