LintCode 空格替换

设计一种方法,将一个字符串中的所有空格替换成 %20。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。

样例
对于字符串"Mr John Smith", 长度为 13
替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17
作为结果返回。

public class Solution {
    /**
     * @param string: An array of Char
     * @param length: The true length of the string
     * @return: The true length of new string
     */
    public int replaceBlank(char[] string, int length) {
        // Write your code here
        if(0==length) return 0;
        int num = 0;
        for(int i=0;i<length;i++){
            if(string[i] == ' ') num++;
        }
        
        int newLen = length + num*2;
        string[newLen] = 0;
        int j = 1;
        for(int i=length-1;i>=0;i--){
            if(string[i] != ' '){
                string[newLen - j] = string[i];
                j++;
            }
            else{
                string[newLen - j] = '0';
                j++;
                string[newLen - j] = '2';
                j++;
                string[newLen - j] = '%';
                j++; 
            }
        }
        return newLen;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看到18%通过率的简单题,发现事情没那么简单。 题目 描述:设计一种方法,将一个字符串中的所有空格替换成 %20 ...
    Leoshi阅读 3,379评论 0 0
  • 设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是...
    DayDayUpppppp阅读 1,105评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,452评论 0 4
  • 早上喝了有20毫升水,剩余时间没再补水,准备顺道干辟一天试试,加大难度,试试,刺激不刺激![抠鼻][抠鼻][抠鼻]...
    纵情嬉戏天地间阅读 1,501评论 0 0
  • 从祁连山上下来,我们选择到下一个地点「七彩花谷」去。乡间的小路两边种满了树木,只有我们一辆车在路上行驶,感觉非常惬...
    不止不知阅读 2,425评论 0 1