题目描述

请实现一个函数,将一个字符串中的空格替换成“%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 };

 

posted on 2016-09-01 15:14  Love63  阅读(157)  评论(0编辑  收藏  举报