LeetCode刷题-URL化
题目
URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)
示例1:
输入:"Mr John Smith ", 13
输出:“Mr%20John%20Smith”
示例2:
输入:" “, 5
输出:”%20%20%20%20%20"
提示:
- 字符串长度在[0,500000]范围内。
解答区的一些解法:
方法1:char数组替换(时间空间最少)
思路:先遍历字符串,取出相应的字符,如果该字符为空字符,就向字符数组添加‘%’,‘2’,‘0’,否则该字符直接添加到字符数组中,直到遍历结束,返回一个字符串。
class Solution {
public String replaceSpaces(String S, int length) {
char[] cs = new char[length * 3];
int i = 0, j = 0;
char c;
while(i < length){
c = S.charAt(i);
if(c == ' '){
cs[j++] = '%';
cs[