剑指offer:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
1 class Solution { 2 public: 3 void replaceSpace(char *str,int length) { 4 int spanum = 0; 5 for(int i=0; i<length; ++i){ 6 (str[i] == ' ') ? ++spanum : 0; 7 } 8 int newlen = length + spanum*2; 9 int j = newlen-1; 10 for(int i=length-1; i>=0; --i){ 11 if(str[i] == ' '){ 12 str[j--] = '0'; 13 str[j--] = '2'; 14 str[j--] = '%'; 15 } 16 else{ 17 str[j--] = str[i]; 18 } 19 } 20 } 21 };