请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
C++:
1 class Solution { 2 public: 3 void replaceSpace(char *str,int length) { 4 int blankNum = 0 ; 5 for(int i = 0 ; i < length ; i++){ 6 if (str[i] == ' ') 7 blankNum++ ; 8 } 9 int newLen = 2*blankNum+length ; 10 int p1 = length; 11 int p2 = newLen; 12 for(; p1 >= 0 && p1 < p2; p1--){ 13 if (str[p1] == ' '){ 14 str[p2--] = '0' ; 15 str[p2--] = '2' ; 16 str[p2--] = '%' ; 17 }else{ 18 str[p2--] = str[p1] ; 19 } 20 } 21 } 22 };
C++:
1 void ReplaceBlank(char ch[] , int len){ 2 if (ch == NULL || len <= 0) 3 return ; 4 int oldLen = 0 ; 5 int newLen = 0 ; 6 int blankNum = 0 ; 7 for (int i = 0; ch[i] != '