首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
替换空格
[编程题]替换空格
热度指数:1678765
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
算法知识视频讲解
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
邀请回答
收藏(2752)
分享
提交结果有问题?
0个回答
86篇题解
添加回答
634
推荐
爱吃柚子
//思路
//1:从前往后插入,这样移动·的次数多不建议
//2:从后往前插入
class Solution {
public:
void replaceSpace(char *str,int length) {
//遍历一边字符串找出空格的数量
if(str==NULL||length<0)
return ;
int i=0;
int oldnumber=0;//记录以前的长度
int replacenumber=0;//记录空格的数量
while(str[i]!='\0')
{
oldnumber++;
if(str[i]==' ')
{
replacenumber++;
}
i++;
}
int newlength=oldnumber+replacenumber*2;//插入后的长度
if(newlength>length)//如果计算后的长度大于总长度就无法插入
return ;
int pOldlength=oldnumber; //注意不要减一因为隐藏个‘\0’也要算里
int pNewlength=newlength;
while(pOldlength>=0&&pNewlength>pOldlength)//放字符
{
if(str[pOldlength]==' ') //碰到空格就替换
{
str[pNewlength--]='0';
str[pNewlength--]='2';
str[pNewlength--]='%';
}
else //不是空格就把pOldlength指向的字符装入pNewlength指向的位置
{
str[pNewlength--]=str[pOldlength];
}
pOldlength--; //不管是if还是elsr都要把pOldlength前移
}
}
};
编辑于 2015-12-07 18:51:44
回复(308)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
字符串
难度:
0条回答
2752收藏
809575浏览
热门推荐
通过挑战的用户
说了你也不认识童鞋
2023-03-12 22:51:10
Niiicky
2023-03-09 17:47:14
打不死的黄妖精
2023-03-06 20:38:18
牛客2991号
2023-03-04 10:45:39
牛客72348...
2023-02-28 12:41:19
相关试题
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
你说在销售运营这个岗位上会涉及到一...
评论
(1)
相关性分析有哪些?
评论
(1)
如何检验聚类分析结果
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { public String replaceSpace(StringBuffer str) { } }
class Solution { public: void replaceSpace(char *str,int length) { } };
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here
class Solution { public string replaceSpace(string str) { // write code here } }
function replaceSpace(str) { // write code here } module.exports = { replaceSpace : replaceSpace };
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here
package main func ReplaceSpace(s string) string { //write your code here }