空格替换-LintCode
来源:互联网 发布:知柏地黄丸女性能吃吗 编辑:程序博客网 时间:2024/05/30 04:30
设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。
注意事项:
如果使用 Java 或 Python, 程序中请用字符数组表示字符串。
样例:
对于字符串”Mr John Smith”, 长度为 13
替换空格之后,参数中的字符串需要变为”Mr%20John%20Smith”,并且把新长度 17 作为结果返回。
挑战:
在原字符串(字符数组)中完成替换,不适用额外空间
class Solution {public: /** * @param string: An array of Char * @param length: The true length of the string * @return: The true length of new string */ int replaceBlank(char *str, int length) { // Write your code here if (str == NULL && length <= 0) return 0; int oriLen = 0; int num = 0; int i = 0; while (str[i] != '\0') { ++oriLen; if (str[i] == ' ') ++num; ++i; } int newLen = oriLen + 2 * num; int newPos = newLen; int oriPos = oriLen; while (oriPos >= 0 && newPos > oriPos) { if (str[oriPos] == ' ') { str[newPos--] = '0'; str[newPos--] = '2'; str[newPos--] = '%'; } else str[newPos--] = str[oriPos]; --oriPos; } return newLen; }};
阅读全文
0 0
- Lintcode空格替换
- lintcode-空格替换-212
- 空格替换(LintCode)
- lintcode 空格替换
- LintCode:空格替换
- lintcode ----空格替换
- LintCode 空格替换
- 【LintCode】 空格替换
- lintcode,空格替换
- Lintcode 空格替换
- lintcode--空格替换
- LintCode 212 空格替换
- [LintCode]212.空格替换
- LintCode:空格替换
- 空格替换-LintCode
- LintCode-剑指Offer-空格替换
- 空格替换
- 替换空格
- 搜索相似之——BM25算法
- 数据库事务的四大特性以及事务的隔离级别
- Dubbo 启动 报 javassist/ClassPath And org/jboss/netty/channel/ChannelFactory异常
- fastcgi_finish_request
- MySQL数据库操作
- 空格替换-LintCode
- MyEClipse中SVN使用
- java集合
- matlab统计极值的方法
- 【Android学习】android.view.ViewStub
- 高并发下的程序设计,高并发下的数据库设计
- 序列
- STORM入门之(yaml配置文件说明)
- Node.js中的fs.open、fs.read、fs.write、fs.close方法;