博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
替换空格
阅读量:2723 次
发布时间:2019-05-13

本文共 960 字,大约阅读时间需要 3 分钟。

给一个字符串,将其中的空格用一个东西替换

要求:时间复杂度O(n)
应用:网络编程中将特殊字符替换获得正确的参数值。

#define  _CRT_SECURE_NO_WARNINGS#include
using namespace std;void ReplaceBlank(char *str, size_t len)//len为数组的总长{ if (str == NULL || len <= 0) { return; } int numBlank = 0;//空格数 int effectLen = 0; //有效长度 while (str[effectLen]!='\0') { if (str[effectLen] == ' ') { numBlank++; } effectLen++; } int newLen = effectLen + numBlank * 2; //判断是否越界 if (newLen > len) { return; } while (effectLen>=0) { if (str[effectLen] == ' ') { str[newLen--] = '0'; str[newLen--] = '2'; str[newLen--] = '%'; } else { str[newLen--] = str[effectLen]; } effectLen--; }}void test(){ char str[20] = "We are happy!"; ReplaceBlank(str, 20); cout << str << endl;}int main(){ test(); system("pause"); return 0;}

转载地址:http://yqstd.baihongyu.com/

你可能感兴趣的文章
.NET Core 学习资料精选:入门
查看>>
微软解释为什么 Rust 是系统编程的最佳选择
查看>>
VS Code 的 Java 七月更新,新的重构特性
查看>>
微软宣布 SQL Server 2019 免费支持 Java
查看>>
选择所有选项的多选复选框列表或复选框下拉列表
查看>>
使用SQL Server 2017 Docker容器在.NET Core中进行本地Web API开发
查看>>
响应式设计基本规则
查看>>
人工生命 2.0.1 版发布,给青蛙找个工作:走跷跷板
查看>>
记录MS SQL Server数据库
查看>>
华为鸿蒙系统刷屏,到底什么是微内核操作系统呢?
查看>>
Zend 创始人提议创建 PHP 方言,暂命名为 P++
查看>>
VS Code 1.37 发布,多个图标迎来全新设计
查看>>
我接受异常
查看>>
ASP.NET核心之路微服务第01部分:构建视图
查看>>
华为透露中国首个开源基金会将于近期正式运营!
查看>>
ASP.NET核心之路微服务第02部分:查看组件
查看>>
C#中面向对象编程中的函数式编程
查看>>
ASP.NET Core 和 Blazor 更新
查看>>
Visual Studio 2019 16.2.2 发布
查看>>
《RVOS:End-to-End Recurrent Network for Video Object Segmentation》论文笔记
查看>>