请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

来源:互联网 发布:太师鞭 知乎 编辑:程序博客网 时间:2024/06/05 21:58
public class Solution {
    public String replaceSpace(StringBuffer str) {
          //从后往前,先确定字符串的长度和替换后的长度
       int len=str.length();
       int count=0;
       for(int i=0;i<str.length();i++){
           if(str.charAt(i)==' ')
               count++;
       }
       int newLen=2*count+len;
       int index=newLen-1;
       char []ptr=new char[newLen];
       while(len>0){
           if(str.charAt(len-1)!=' '){
               ptr[index--]=str.charAt(len-1);
           }else{
               ptr[index--]='0';
               ptr[index--]='2';
               ptr[index--]='%';
           }     
           --len;
       }
        return new String(ptr);


    }
   
}
11 0