剑指offer——替换字符串

总结:先计算出总共有多少空格,count++;然后从后往前遍历,每遇到一个空格,count--;
 
 
 
替换空格
  • 参与人数:2119时间限制:1秒空间限制:32768K
  • 通过比例:20.23%
  • 最佳记录:0 ms|8552K(来自  牛客游客

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
完整代码:
public class StringreplaceSpace {
    public static void main(String[] args){
        StringBuffer str=new StringBuffer("We Are Happy");
        System.out.println(replaceSpace(str));
        
    }
    public static String replaceSpace(StringBuffer str) {
        int count=0;        
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)==' '){
                count++;
            }
        }
        char str2[] = new char[str.length()+count*2];
        for(int j=str.length()-1;j>=0;j--){
            char temp = str.charAt(j);
            if(temp!=' '){
                str2[j+2*count] =temp;                
            }
            else{
                str2[j+2*count]='0';
                str2[j+2*count-1]='2';
                str2[j+2*count-2]='%';
                count--;
            }                     
        } 
        StringBuffer str3=new StringBuffer();
        for(int k=0;k<str2.length;k++){
            str3.append(str2[k]);
        }        
        return str3.toString();        
    }
}
原文地址:https://www.cnblogs.com/snowwhite/p/4747298.html