面试题 01.03:URL化(C++)

题目地址:https://leetcode-cn.com/problems/string-to-url-lcci/

题目描述

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

题目示例

示例1:

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

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

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

解题思路

刚开始拿到这个题目时,因为是简单题目,所以自己没有仔细审题,竟然直接上手写程序,最后发现代码有bug,找了半天才发现自己将题目中给出的length变量未用,真是罪过呐!好了,废话到此结束,此题,我们直接遍历字符串S,遇到空字符,则将字符串%20追加到结果字符串res中,否则,若没有找到空字符,我们直接将该字符追加到结果字符串res中。

程序源码

class Solution {
public:
    string replaceSpaces(string S, int length) {
        string str = "%20";
        string res;
        for(int i = 0; i < length; i++)
        {
            if(S[i] == ' ') res += str;
            else
                res += S[i]; 
        }
        return res;
    }
};

猜你喜欢

转载自www.cnblogs.com/wzw0625/p/12905424.html