[剑指 Offer 第 2 版第 5 题] “替换空格”做题记录
[剑指 Offer 第 2 版第 5 题] “替换空格”做题记录
第 5 题:替换空格
传送门:牛客网 online judge 地址。
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
分析:这道问题其实应该在 C++ 语言中,考点会更突出一些。这道题使用 Java 语言的写法更简单。其实这道题考查点与 LeetCode 第 88 题(88. 合并两个有序数组)一样,从后向前思考,打破思维定势。
Java 代码:
public class Solution {
public String replaceSpace(StringBuffer str) {
int len = str.length();
if (len == 0) {
return "";
}
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < len; i++) {
char c = str.charAt(i);
if (c == ' ') {
stringBuilder.append("%20");
} else {
stringBuilder.append(c);
}
}
return stringBuilder.toString();
}
}
Java 代码:
public class Solution2 {
public String replaceSpace(StringBuffer str) {
return str.toString().replaceAll("\\s", "%20");
}
}
作者:liweiwei1419
来源:https://liweiwei1419.github.io/sword-for-offer/
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com