难度

简单

标签

字符串

题目描述

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

示例 1:

  1. 输入:"Mr John Smith ", 13
  2. 输出:"Mr%20John%20Smith"

示例 2:

  1. 输入:" ", 5
  2. 输出:"%20%20%20%20%20"

提示:

字符串长度在 [0, 500000] 范围内。

题解

1. string api

  1. class Solution {
  2. public String replaceSpaces(String S, int length) {
  3. return S.substring(0, length).replaceAll(" ","%20");
  4. }
  5. }

2. 数组

  1. class Solution {
  2. public String replaceSpaces(String S, int length) {
  3. char[] array = new char[length * 3];
  4. int j = 0;
  5. for(int i = 0; i < length; i++) {
  6. char cur = S.charAt(i);
  7. if(' ' == cur) {
  8. array[j++] = '%';
  9. array[j++] = '2';
  10. array[j++] = '0';
  11. } else {
  12. array[j++] = cur;
  13. }
  14. }
  15. return new String(array, 0 ,j);
  16. }
  17. }