美文网首页
空格替换

空格替换

作者: 小呀么小黄鸡 | 来源:发表于2019-08-02 11:14 被阅读0次

    问题描述

    https://www.lintcode.com/problem/space-replacement/description?_from=ladder&&fromId=6

    教训:java中单引号代表char,双引号代表string

        public int replaceBlank(char[] string, int length) {
    
            int num=0;//konggeshu
            int i=0;
            while(i<length){
                if(string[i]==' '){
                    num++;
                }
                i++;
            }
            int newnum=length+2*num;
            char []ch2=new char[newnum];
            int j=0;
            for(i=0;i<length;i++){
                if(string[i]!=' '){
                    ch2[j++]=string[i];
                }else{
                    ch2[j++]='%';
                    ch2[j++]='2';
                    ch2[j++]='0';
                }
            }
            /*
            string=Arrays.copyOf(string,length+2*num);
            i=0;
            while(i<length+2*num){
                string[i]=ch2[i];
                i++;
            }
            */
            int t=0;
            while(t<newnum){
                string[t]=ch2[t];
                t++;
            }
           // System.out.println(string);
            return length+2*num;
        }
    

    作者:书剑江山
    来源:CSDN
    原文:https://blog.csdn.net/abbcbbd/article/details/51306914
    版权声明:本文为博主原创文章,转载请附上博文链接!

    挑战

    在原字符串(字符数组)中完成替换,不适用额外空间

        public int replaceBlank(char[] string, int length) {
            if(string == null){
                return 0;
            }
            int num=0;//konggeshu
            int i=0;
            while(i<length){
                if(string[i]==' '){
                    num++;
                }
                i++;
            }
            int newnum=length+2*num;
            for (int j = newnum; j >= 0; j--){
                if(string[j]!=' '){
                    string[j+2*num] = string[j];
                }else{
                    string[j+2*num] = '0';
                    string[j+2*num-1] = '2';
                    string[j+2*num-2] = '%';
                    num--;
                }
            }
            return newnum;
        }
    

    相关文章

      网友评论

          本文标题:空格替换

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