当前位置: 移动技术网 > IT编程>开发语言>Java > 剑指offer_替换空格

剑指offer_替换空格

2020年07月17日  | 移动技术网IT编程  | 我要评论

题目描述:

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

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

 

限制:

0 <= s 的长度 <= 10000

 

题解:

思路:

可以把字符串逐个存入数组中按数组从头检索遇见空格就将其在新数组中替换为%20(需要一个新的数组来存储改变后的字符串),或不用数组直接新建字符串,在字符串上进行操作。

代码:Java

class Solution {
    public String replaceSpace(String s) {
        StringBuilder res = new StringBuilder();
        for(Character c:s.toCharArray()){
            if(c==' ') res.append("%20");
            else res.append(c);
        }
        return res.toString();
    }
}

 

其中StringBuilder和StringBuffer在构造方法上无差别,但Buffer多了一个synchronized,保证了线程安全,所以理应Builder性能更好一些,但leetcode上两种其实并无明显区别。

关于String、StringBuilder和StringBuffer的区别可参考:https://blog.csdn.net/csxypr/article/details/92378336

本文地址:https://blog.csdn.net/yy13136769189/article/details/107371795

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网