【剑指Offer】替换空格

时间:2022-07-24
本文章向大家介绍【剑指Offer】替换空格,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目:

请实现一个函数,把字符串 s 中的每个空格替换成”%20”。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

题解:

方法一:

简单粗暴,直接用 replaceAll(),替换字符串中的空格为 %20

class Solution {
    public String replaceSpace(String s) {
       return s.replaceAll(" ","%20");
    }
}

但是,显然这种已经有的方法不是面试官想要得到的答案,所以你得另寻方法,自己写个方法,如果写不出,那肯定给面试官不能留下一个好的印象。

方法二:

  1. 创建一个新的字符数组 StringBuilder(),名为 str;
  2. 遍历字符串中的每一个字符
    • 当 st 为空格的时候,向 str 中加入 %20;
    • 当 st 不为空格的时候,则加入st。
  3. 将 str 以 String 类型返回

代码:

class Solution {
    public String replaceSpace(String s) {
      StringBuilder str = new StringBuilder();
      for (Character st : s.toCharArray()) {
          if (st == ' ') {
              str.append("%20");
          } else {
              str.append(st);
          }
      }
      return str.toString();
    }
}