LintCode_212_空格替换
来源:互联网 发布:如何在mac上玩dota2 编辑:程序博客网 时间:2024/06/15 17:09
问题描述
设计一种方法,将一个字符串中的所有空格替换成 %20 。
你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。
样例
对于字符串”Mr John Smith”, 长度为 13
替换空格之后,参数中的字符串需要变为”Mr%20John%20Smith”,
并且把新长度 17 作为结果返回。
求解
class Solution {public: int replaceBlank(char *str, int length) { const array<char, 3> to{'%', '2', '0'}; int spaceCount = 0; for (int i = 0; i < length; ++i) { if (str[i] == ' ') { ++spaceCount; } } const int newLength = length + (static_cast<int>(to.size()) - 1) * spaceCount; for (int i = length - 1, j = newLength - 1; i >= 0; --i) { if (str[i] == ' ') { int k = to.size() - 1; while(k >= 0) { str[j--] = to[k--]; } } else { str[j--] = str[i]; } } return newLength; }};
阅读全文
0 0
- LintCode_212_空格替换
- 空格替换
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 空格替换
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- 替换空格
- Unity手游引擎安全解析及实践
- 第九周——项目三—用二叉树遍历思想解决问题
- 堆栈和内存分配
- 【bzoj1068】[SCOI2007]压缩
- jQuery之DOM操作详细
- LintCode_212_空格替换
- 数据分析之Pandas-05数据加载
- 自定义TextView,在values下面新建attrs.xml,布局,重写方法
- 解决:“无法打开虚拟机,该虚拟机似乎正在被使用”
- redhat-learn
- 十月英语
- 2017年福州CCF CCSP参赛体会
- Unity5使用所遇难点及解决方案(基于与unity4的比较)(三.管理状态)
- tensorflow学习二:概念知识和一个帮助理解的demo