题目地址(05. 替换空格)

https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/

题目描述

  1. 请实现一个函数,把字符串 s 中的每个空格替换成"%20"
  2. 示例 1
  3. 输入:s = "We are happy."
  4. 输出:"We%20are%20happy."
  5. 限制:
  6. 0 <= s 的长度 <= 10000

前置知识


公司

  • 暂无

思路

new一个builder 如果这个字符=空格 sb中就append 20% 不然就把当前的字符添加

关键点

  • stringbuilder比buffer快点

代码

  • 语言支持:Java

Java Code:

  1. class Solution {
  2. public String replaceSpace(String s) {
  3. StringBuilder stringBuilder = new StringBuilder();
  4. for (int i = 0; i <s.length() ; i++) {
  5. char c = s.charAt(i);
  6. if (' ' == c) {
  7. stringBuilder.append("%20");
  8. }else{
  9. stringBuilder.append(c);
  10. }
  11. }
  12. return stringBuilder.toString();
  13. }
  14. }

复杂度分析

令 n 为数组长度。

  • 时间复杂度:剑指05. 替换空格 2 - 图1#card=math&code=O%28n%29&id=Kvrlh)
  • 空间复杂度:剑指05. 替换空格 2 - 图2#card=math&code=O%281%29&id=Zav3h)