URL化

题目描述

来源于 https://leetcode-cn.com/

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

示例1:

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

示例2:

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

提示:

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

解法:

原意可能是原地修改,但是需要保证输入的字符串尾部有多余的空间,在很多编程语言中,字符串扩容会引起内存的复制。因此,不如直接得到新的字符串。

class Solution {
public:
    string replaceSpaces(string s, int length) {
        string result;
        for(int i=0;i<length;i++){
            if(s[i] != ' '){
                result.push_back(s[i]);
            }else{
                result += "%20";
            }
        }
        return result;
    }
};