替换空格
本来觉得挺简单的,写后一堆错。细思还是指针没理解透彻啊!
char *str其实可以等同于char str[]
复制字符串时要注意最后一个元素‘\0’也要复制!!
class Solution { public: void replaceSpace(char *str,int length) { if(str==NULL||length<=0)return; int space=0,strlen=0; char *p=str; while(*p) { if(*p++ == ' ')space++; strlen++; } int len=strlen+space*2; if(len>length) return; while(len>=0&&len>strlen) { if(str[strlen] == ' ') { str[len--]='0'; str[len--]='2'; str[len--]='%'; strlen--; } else { str[len--]=str[strlen--]; } } return; } };