您的位置:首页 > 移动开发

请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。

2017-05-19 09:52 525 查看
思路:首先遍历字符串,找出其中所有的空格数目,根据空格数目被替换之后,一个空格数所需的长度加2,,计算出替换后新的字符串所需要的长度,然后将原来的字符串从右往左遍历,遇到空格就插入%20,没有遇到空格就直接拷贝该字符,知道遍历至第一个元素即可。
string replaceSpace(string iniString, int length) {
int lennew = length;//构造新的队列长度
for (int i = 0; i < length; i++)
{
if (iniString[i] == ' ')
lennew += 2;
}
iniString += string(lennew - length, ' ');//对于新增加的长度进行用空格初始化
for (int i = length - 1; i >= 0; i--)//按照原来字符串进行遍历
{
if (iniString[i] == ' ')
{
iniString[lennew - 1] = '0';
iniString[lennew - 2] = '2';
iniString[lennew - 3] = '%';
lennew = lennew - 3;
}
else
{
iniString[lennew - 1] = iniString[i];
lennew--;
}
}
return iniString;
}
string iniString = "Hello  World";
int length = 12;
cout << replaceSpace(iniString,length) << endl;

python解法:

def replaceSpace(self, s):
return s.replace(' ','%20')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐