剑指offer面试题4:替换空格

题目:实现一个函数,把字符串中的每个空格替换成"%20"
例如:输入"We are happy.", 则输出"We%20are%20happy."

这道题相对比较简单,只要懂得从尾到头复制就行,代码如下:

public class ReplaceBlank {

    public static void main(String[] args) {
        String str = "We are happy. ";
        System.out.println(replaceBlank(str));
    }

    private static String replaceBlank(String str) {
        char[] chars = str.toCharArray();
        int len = chars.length;
        int newLen = len;
        for(char c : chars){
            if(c== ' '){
                newLen += 2;
            }
        }
        char[] newChars = new char[newLen];
        for(--len;len >= 0; len--){
            if(chars[len] == ' '){
                newChars[--newLen] = '0';
                newChars[--newLen] = '2';
                newChars[--newLen] = '%';
            } else {
                newChars[--newLen] = chars[len];
            }
        }
        return new String(newChars);
    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容