剑指 Offer 05. 替换空格

用了最基本的方法,10分钟才做出来。。

public String replaceSpace(String s) {
        int n = s.length();
        while(true){
            int index = s.indexOf(" ");
            if(index == -1)break;
            s = s.substring(0,index)+"%20"+s.substring(index+1);
        }
        return s;
    }

 直觉用正则表达式应该挺好的吧,但是无奈我不会啊。。。

再想想办法优化一下?

创建一个StringBuilder对象,字符串遍历一遍,完成:

public String replaceSpace(String s) {
        char[] c = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        for (char value : c) {
            if (value == ' ') {
                sb.append("%20");
            } else {
                sb.append(value);
            }
        }
        return sb.toString();
    }

我的前方是万里征途,星辰大海!!
原文地址:https://www.cnblogs.com/taoyuxin/p/13445460.html