替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:逆序遍历
从后往前查找到空格,后面元素后移2格,替换。
class Solution {
public:
void replaceSpace(char *str,int length) {
if (str == NULL || length <= 0) return;//判空
int lens =length;
for(int i=lens-1;i>=0;i--){
if(str[i]==' '){
for(int j=lens-1;j>=i;j--)//后移2格
{
str[j] =str[j-2];
}
//替换字符
str[i]='%';
str[i+1]='2';
str[i+2]='0';
}
}
}
};
时间复杂度:O(N)
博主是一个萌新,欢迎大佬们来提出改进建议!