請實現一個函數,將一個字符串中的空格替換成「%20」。例如,當字符串爲We Are Happy.則通過替換以後的字符串爲We%20Are%20Happyapp
考慮時間複雜度,首先計算替換空格後的長度。而後從後往前替換函數
class Solution { public: void replaceSpace(char *str,int length) { int black_num = 0; for(int i = 0;i<length;i++) { if(str[i] == ' ') black_num++; } int old_length = length; int new_length = old_length + black_num*2; while(old_length < new_length) { if(str[old_length] != ' ') str[new_length--] = str[old_length--]; else{ old_length--; str[new_length--] = '0'; str[new_length--] = '2'; str[new_length--] = '%'; } } } };