剑指offer--空格替换--2

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
方法一:replace方法

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

方法二:新建stringbuffer拼接

public class Solution {
	public String replaceSpace(StringBuffer str) {
	StringBuffer result = new StringBuffer();
    String strTemp = str.toString();
    char[] chars = strTemp.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        if (chars[i]==' '){
            result.append("%20");
        }else{
            result.append(chars[i]);
        }
    }
    return result.toString();
}

}

附加:
String -字符串常量 :string的值是可变的,每次的操作都会创建新的对象,很浪费空间。
StringBuffer -字符串变量,对象能被多次修改,不产生新的对象,线程安全,速度慢
StringBuilder -字符串变量,对象能被多次修改,不产生新的对象,线程不安全,速度快

猜你喜欢

转载自blog.csdn.net/weixin_44017425/article/details/105267170
今日推荐