URL化。编写一种方法,将字符串中的空格全部替换为`%20`

405 阅读1分钟

面试题 01.03. URL化

Difficulty: 简单

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

示例 1:

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

示例 2:

输入:"               ", 5
输出:"%20%20%20%20%20"

提示:

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

定义一个char数组,因为如果都是空格的话,则字符长度是length的3倍,定义两个变量,i,j,i代表字符串S的每一个,j代表新字符数组的位移下标

Language: java

class Solution {
    public String replaceSpaces(String S, int length) {
        char[] chars = new char[length * 3];
        int i = 0 , j = 0;
        while(i < length)
        {
            char a = S.charAt(i);
            if(a == ' ')
            {
                chars[j++] = '%';
                chars[j++] = '2';
                chars[j++] = '0';
            }
            else
            {
                chars[j++] = a;
            }
            i++;
        }
        return new String(chars , 0 , j);
    }
}