您的位置:首页 > Web前端

牛客网_剑指offer_替换空格

2018-01-25 18:57 323 查看


题目描述

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

解题思路

题目并不是很难,唯一要注意的是当字符串进行修改之后字符串的长度也会跟着变长,所以循环结束的条件应为动态变换的字符串长度。
出题意图应该是要考java的语言基础。
String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
public class Solution {
public String replaceSpace(StringBuffer str) {
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) == ' ') {
str.replace(i, i+1, "%20");
}
}
return str.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  剑指offer 字符串