字符串空格替换
2017-08-16 22:12
225 查看
1、问题
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution {
public:
void replaceSpace(char *str,int length) {
}
};
2、解答
思路:从前向后记录‘
’(空格字符)数目,从后向前替换‘ ’。 重点:从后向前替换的时候的技巧
,例如:“We Are Happy”。
可以得知cnt=2;//空格的个数。所以在替换的时候7~11的字母要向后移动count×2个位置,3~5字母要向后移动(count-1)×2个位置。 所以得到 :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
W e A r e H a p p y在替换的时候直接在空格处写入%20了就可以了。
具体代码如下:
//将空格用"%20"替换
#include<iostream>
using namespace std;
class Solution{
public:
void replaceSpace(char *str,int length)
{
int cnt=0;//记录空格数目
int i,j;
for(i=0;i<length;i++){
if(str[i]==' ')
cnt++;
}
for(i=l
4000
ength-1;i>=0;i--){
if(str[i]!=' ')
str[i+2*cnt]=str[i];
else{
cnt--;
str[i+2*cnt]='%';
str[i+2*cnt+1]='2';
str[i+2*cnt+2]='0';
}
}
}
};
int main()
{
char a[30]="We Are Happy.";
char *ptr=a;
Solution s;
s.replaceSpace(ptr,12);
cout<<ptr;
return 0;
}
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution {
public:
void replaceSpace(char *str,int length) {
}
};
2、解答
思路:从前向后记录‘
’(空格字符)数目,从后向前替换‘ ’。 重点:从后向前替换的时候的技巧
,例如:“We Are Happy”。
0 1 2 3 4 5 6 7 8 9 10 11 W e A r e H a p p y
可以得知cnt=2;//空格的个数。所以在替换的时候7~11的字母要向后移动count×2个位置,3~5字母要向后移动(count-1)×2个位置。 所以得到 :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
W e A r e H a p p y在替换的时候直接在空格处写入%20了就可以了。
具体代码如下:
//将空格用"%20"替换
#include<iostream>
using namespace std;
class Solution{
public:
void replaceSpace(char *str,int length)
{
int cnt=0;//记录空格数目
int i,j;
for(i=0;i<length;i++){
if(str[i]==' ')
cnt++;
}
for(i=l
4000
ength-1;i>=0;i--){
if(str[i]!=' ')
str[i+2*cnt]=str[i];
else{
cnt--;
str[i+2*cnt]='%';
str[i+2*cnt+1]='2';
str[i+2*cnt+2]='0';
}
}
}
};
int main()
{
char a[30]="We Are Happy.";
char *ptr=a;
Solution s;
s.replaceSpace(ptr,12);
cout<<ptr;
return 0;
}
相关文章推荐
- 字符串去掉首尾空格和替换
- java 剑指offer 第二题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 实现函数,用字符串"%20"替换空格
- 用%20替换字符串中的空格
- 剑指offer面试题4:替换字符串中的空格
- C# 将字符串中的一个或连续多个空格都替换成一个空格或逗号
- 剑指Offer之字符串空格替换问题
- ORACLE-字符串替换 去空格
- 用"%20" 替换字符串中的空格
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy
- 字符串空格替换
- 字符串替换空格
- 程序员面试金典: 9.1数组与字符串 4字符串中空格全部替换为"%20"
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- 替换字符串中的空格为%20--20150925
- 将字符串中的空格替换为“20%”
- java字符串中多个空格替换成一个空格
- 【面试题】剑指offer04--替换字符串中的空格
- 算法:替换字符串中的空格