每天一道剑指Offer--替换空格

2019-03-31  本文已影响0人  492284513d5a

题目:

请实现一个函数,把字符中的每个空格替换成“%20”。例如输入
“we are happy”则输出 “we%20are%20happy."。

解题思路:

w e a r e h a p p y
w e % 2 0 a r e % 2 0 h a p p y
/* length 为string数组的容量*/
void replaceSpace(char string[]  length ){
  if(string==NULL|| length <=0)
      return;
  int originalLength = 0;//统计字符串个数;
  int numberBlank = 0; //统计空格数;
  int i =0;
     while(str[i]  !=  '\0'){
     if(str[i] == ' '){
           ++numberBlank;
     }   
           ++originalLength;
           ++i;
   }
     int newLength = originalLength + numberBlank * 2;
     int indexOfOriginal = originalLength;
     int indexOfNew = newLength;
     if(newLength>length)
       return;
     where(indexOfOriginal >= 0 && indexOfNew >indexOfOriginal){
     if(string[indexOfOriginal] ==  ' '){
          string[New--] = '0';
          string[New--] = '2';
          string[New--] = '%';
       }else{
          string[New--] = string[indexOfOriginal];
       }
          --indexOfOriginal;
  } 
}

上一篇 下一篇

猜你喜欢

热点阅读