题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
1 class Solution { 2 public: 3 void replaceSpace(char *str,int length) { 4 /* 5 解题思路: 6 1、字符数组中的每一项只能为一个元素 7 2、要将空格替换成“%20”,因此在空格地方要插入3个元素 8 3、首先找到空格的位置,然后插入元素(每插入一次数组长度+2) 9 */ 10 for(int i=0;i<length;i++){ 11 if(str[i]==' '){ 12 length+=2; 13 for(int j=length-3;j>=i+1;j--){//将所有元素向后移动两个元素 14 str[j+2]=str[j]; 15 } 16 str[i]='%'; 17 str[i+1]='2'; 18 str[i+2]='0'; 19 } 20 } 21 22 } 23 };