2019-06-02剑指。替换空格
2019-06-02 本文已影响0人
mztkenan
难得因为字符串写一次c++,真的有些麻烦。对于java中是指传递。只有c++中有指针地址。
class Solution {
public:
void replaceSpace(char *str,int length) {
int cnt=0;
for(int i=0;i<length+1;i++){
if(str[i]==' ')cnt++;
}
int L=length+2*cnt;
str[L]='\0';
int ne=L-1;
int e=length-1;
while(e>=0){
if(str[e]!=' '){
str[ne--]=str[e--];
}
else{
str[ne--]='0';
str[ne--]='2';
str[ne--]='%';
e--;
}
}
}
};
注意c风格的字符串是这么写的。c里创建对象是不用new的。这题的变种就是两个排序数组合并到一起。
int main()
{
char s[]=" ";
Solution t;
t.replaceSpace(s,2);
cout<<s;
return 0;
}