美文网首页
练习2--替换空格

练习2--替换空格

作者: 莫小西0213 | 来源:发表于2017-10-12 10:42 被阅读0次

    题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
    思路:
    1、不能直接使用replace,为一个字符替换为三个字符会被覆盖;
    2、从前往后会进行替换同样会被覆盖;
    3、采用从后往前,先记录下一共有多少空格,现在总长度为count*2+len;再进行替换。
    源码:

     public static String replaceSpace(StringBuffer str) {
            int count=0;
            for(int i=0;i<str.length();i++) {
                if(str.charAt(i)==' ')
                    count++;
            }
            int len=str.length();
            int lenadd=count*2+len;
            char[] ch =new  char[lenadd];
            for(int i=len-1,j=lenadd-1;i>=0&&j>=0; ) {
                if(str.charAt(i)==' ')
                    {ch[j--]='0';
                     ch[j--]='2';
                     ch[j--]='%';
                     i--;
                    }
                else {
                    ch[j--]=str.charAt(i);
                    i--;
                }
            }
           String strnew=String.valueOf(ch);
           return strnew;
        }
    

    相关文章

      网友评论

          本文标题:练习2--替换空格

          本文链接:https://www.haomeiwen.com/subject/ygenyxtx.html