剑指offer——替换空格
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution { public: void replaceSpace(char *str,int length) { int blank_len=0; int old_len=0,new_len=0; int i=0; while(str[i]!='\0') { old_len++; if(str[i]==' ') blank_len++; i++; } new_len=old_len+blank_len*2; if(new_len>length) //length应该是str的总长度,如果新的长度在str中放不下,则return return ; i=new_len; str[i]='\0'; i--; --old_len; while(i>0) { if(str[old_len]!=' ') str[i--]=str[old_len]; else { str[i--]='0'; str[i--]='2'; str[i--]='%'; } --old_len; } } };

浙公网安备 33010602011771号