链接:https://www.nowcoder.com/questionTerminal/4060ac7e3e404ad1a894ef3e17650423?toCommentId=8146213
来源:牛客网
[编程题]替换空格
- 热度指数:1635595 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
- 算法知识视频讲解
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public String replaceSpace(StringBuffer str) {
char[] chars = new char[str.length()];
str.getChars(0, str.length(), chars, 0);
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
if (chars[i] == ' '){
stringBuilder.append("%20");
}else {
stringBuilder.append(chars[i]);
}
}
return stringBuilder.toString();
}
分析:
这道题主要是你对字符串的熟悉问题,我们可以直接使用string类中的replace方法进行修改,但是我使用的方案是使用chars重新生成字符串。