1. 首页
  2. 剑指offer经典面试题

[剑指 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/


JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

标题:[剑指 Offer 第 2 版第 5 题] “替换空格”做题记录

链接:https://www.javajike.com/article/3254.html

« [剑指 Offer 第 2 版第 4 题] “二维数组中的查找”做题记录
[剑指 Offer 第 2 版第 6 题] “从尾到头打印链表”做题记录»

相关推荐

QR code