【剑指offer】将字符串中的空格替换成"%20"
#include <iostream>
#include <string>
using namespace std; char *ReplaceSpace(char *str,int MaxLen)
{
int SpaceNum = 0;
int srcIdx = 0;
int srcLen = 0;
int dstIdx = 0;
int dstLen = 0;
char *strTmp = str;
if(NULL == str)
{
return NULL;
}
while('\0' != *strTmp)
{
srcLen++;
if(' ' == *strTmp)
{
SpaceNum++;
}
strTmp++;
}
dstLen = srcLen + 2*SpaceNum;
if(dstLen > MaxLen)
{
cout<<"error !! dstLen is more than MaxLen!";
return NULL;
}
while(srcLen >=0 &&dstLen > srcLen)
{
if(' ' == str[srcLen] )
{
str[dstLen--] = '0';
str[dstLen--] = '2';
str[dstLen--] = '%';
}
else
{
str[dstLen--] = str[srcLen];
//cout<<str[srcLen]<<endl;
}
srcLen--;
}
return str;
}
int main(void)
{
char str[30] = "you are a coder!";
char *resultStr = NULL;
resultStr = ReplaceSpace(str,30);
if(resultStr != NULL)
{
while(*resultStr != '\0')
{
cout<<*resultStr;
resultStr++; }
}
else
{
cout<<"Result is NULL";
}
cout<<endl; return 0;
}
【剑指offer】将字符串中的空格替换成"%20"的更多相关文章
- 《剑指offer面试题4》替换空格——实现函数把字符串中每个空格替换成“%20”
思路: 例如把we are happy这个字符串中所有空格替换成"%20",最直接的做法是从头开始扫苗,遇到空格就替换,并且把空格后面的字符都顺序后移.复杂度O(n^2). 重要思 ...
- 《剑指offer》字符串中的字符替换
一.题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 二.输入描 ...
- 将一个字符串中的空格替换成“%20”(C、Python)
将一个字符串中的空格替换成“%20” C语言: /* ----------------------------------- 通过函数调用,传地址来操作字符串 1.先计算出替换后的字符串的长度 2.从 ...
- 符号替换问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution { public String replaceSpace(StringBuffer str) { String str1=str.toString(); c ...
- 替换空格-请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution { public: void replaceSpace(char *str,int length) { char *tmp; ; int i; ;i<length; ...
- 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
//字符串替换空格:实现一个函数,把字符串里的空格替换成"%20" #include <stdio.h> #include <assert.h> void ...
- 【Java】 剑指offer(50-1) 字符串中第一个只出现一次的字符
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 在字符串中找出第一个只出现一次的字符.如输入"abacc ...
- 把字符串中的空格替换为"%20"
这个需要注意的是字符串的结尾最后一个字符为'\0',并不是空字符,复制时要一块复制,算法思想就是先计算出字符串中总的空格数,然后 重新计算字符串的长度,由于"%20"为3个字符,比 ...
- 编程练习 将一个字符串中的空格替换为 "%20"
重点:字符串和元组一样, 是不可变对象. 所以将创建一个新的字符串对象,将改变后的字符加入到该新的对象里. 两种方法: 1.python的 replace函数 2.判断修改 def replace(a ...
随机推荐
- Windows配置多个git用户
Window配置多个Git账户,SSH连接GitHub.GitLab 最新版本GIt配置对应多个Git仓库(不需要添加多个用户名和邮箱): 在本地git上添加一个用户名和邮箱,生成一对公钥和私钥,把公 ...
- BCGcontrolBar(六) RibbonBar编辑
BCGcontrolBar 可以使用 Ribbon Designer方便的对 Ribbon条进行编辑 文件位置为 C:\Program Files\BCGSoft\BCGControlBarPro\D ...
- (转)Intellij IDEA 快捷键整理
[常规] Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关 ...
- es6(14)--iterator for ...of循环
//iterator for ...of循环 { let arr=['hello','world']; let map=arr[Symbol.iterator](); console.log(map. ...
- JS静态变量和函数、实例变量和函数以及prototype 说明
静态变量.函数 当定义一个函数后通过 “.”为其添加的属性和函数,通过对象本身仍然可以访问得到,但是其实例却访问不到,这样的变量和函数分别被称为静态变量和静态函数,用过Java.C#的同学很好理解静态 ...
- 零基础学习python_pickle(31课)
上次我提到了对文件的读写等一系列操作,回想下,要想从文件内读取内容无论是read还是readline,读取出来的是不是都是字符串呢?那么如果想让字典.列表这些数据类型保存进文件到读取出来都是原来的类型 ...
- 事件驱动架构 (Event-Driven Architecture,EDA) 简介
EDA 是一种侧重于以生成/消费为基础的异步通信的架构模式.这主要对照于传统的基于线程的同步系统. EDA 是一种以事件 (event)为核心,提供事件产生,路由,消费已经结果回调等机制的架构模式. ...
- 安卓手机H5底部fix定位,呼出键盘底部会上浮解决办法
<script type="text/javascript">var windowInnerHeight = window.innerHeight; //获取当前浏览器 ...
- 【Java】边框总结
[Java]边框总结 Table of Contents 1 例子代码与结果 2 javax.swing.border 3 BorderFactory 4 LineBorder 5 MatteBord ...
- [Unity优化]UI优化(一):RaycastTarget
参考链接: http://www.manew.com/thread-100366-1-1.html https://www.jianshu.com/p/3082ebf8a342 https://blo ...