剑指offer面试题4—替换空格
2015-01-09 15:34
483 查看
题目比较简单,把字符串中的空格替换为相应的字符串
如果从前开始循环替换,每移动一个元素,后面的数据都需要移动,因此选用的方法应该是从后面行前替换
如果从前开始循环替换,每移动一个元素,后面的数据都需要移动,因此选用的方法应该是从后面行前替换
#include "static.h" #include <iostream> using namespace std; void ReplaceBlank(char *Src, char *transString,int Length) { int transSize = 0; int srcSize = 0; int dstSize = 0; int tabSize = 0; while (transString[transSize] != '\0') { transSize++; } while (Src[srcSize] != '\0') { if (Src[srcSize] == ' ') { tabSize++; } srcSize++;//<表示原始字符串的长度 } dstSize = srcSize+(transSize-1)*tabSize; if (dstSize > Length) { cout<<"the arry's memery is not enough"; return; } while (srcSize>= 0 && dstSize > srcSize) { if (Src[srcSize] == ' ') { memcpy(Src+(dstSize-transSize+1),transString,transSize); dstSize -= transSize; srcSize--; } else { Src[dstSize--] = Src[srcSize--]; } } } int main() { const int Length = 50; char src[Length]; char* transString = "%20"; cout << "Please enter the origin string"<<endl; cin.getline(src,50); printf("%s \n",src); ReplaceBlank(src,transString,Length); printf("%s \n",src); return 0; }
相关文章推荐
- C++笔试题(剑指offer 面试题4 替换字符串中的空格)
- 剑指offer之面试题4替换空格
- 剑指offer面试题java实现之题4:替换空格
- 剑指offer-----面试题4(替换空格)
- 剑指offer面试题4 替换空格
- 剑指offer面试题:替换空格(将字符串每个空格替换为%20)
- 剑指offer_面试题4_替换空格(注意时间效率)
- 【剑指Offer面试题】 九度OJ1510:替换空格
- 剑指Offer学习之面试题4 : 替换空格
- 剑指Offer----面试题四:替换空格
- 剑指offer - 面试题4:替换空格
- 剑指offer面试题4 替换空格
- [剑指offer][面试题04]实现一个函数,将字符串中的空格替换为“ ”.例如输入“we are happy.”,输出"we are happy.".
- 剑指offer--面试题4:替换空格
- 剑指offer 面试题4—替换字符串中空格
- 剑指offer面试题4 替换空格(java)
- 剑指offer-面试题4 替换空格
- 剑指offer中的面试题替换空格
- 剑指offer-面试题4 - 替换空格
- [剑指offer]面试题4:替换空格