剑指offer 16. 替换空格-java实现

原题链接

请实现一个函数,把字符串中的每个空格替换成"%20"。

数据范围
0≤ 输入字符串的长度 ≤1000。
注意输出字符串的长度可能大于 1000。

样例
输入:“We are happy.”

输出:“We%20are%20happy.”

题解

这题简单 所以不在过多说明

做法1:直接用replace方法 注意的是StringBuffer

 class Solution {
    public String replaceSpaces(StringBuffer str) {
        return str.toString().replace(" ","%20");
    }
}

做法2: 正常做法

class Solution {
    public String replaceSpaces(StringBuffer str) {
        StringBuffer res = new StringBuffer();
        for(int i = 0 ; i < str.length() ; i++){
            
            if(str.charAt(i) == ' '){
                res.append("%20");
            }
            else {
                res.append(str.charAt(i));
            }
            
        }
        return res.toString() ;
        //String.valueOf(res) ;
        //二者都可以
    }
}

总结

这两种速度都差不多在810ms 左右

posted @ 2022-10-11 20:08  依嘫  阅读(19)  评论(0)    收藏  举报