替换空格 c++实现

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

限制:

0 <= s 的长度 <= 10000

思路:python java语言都可以调用replace函数,c++也可使用正则表达式直接返回

return std::regex_replace(s, std::regex(" "), "%20");

但如果是笔试面试,还是给出一种朴实写法,c++解法如下:

class Solution {
public:
    string replaceSpace(string s) {
        string ans;
        for(char &c : s)
            if(c == ' ')
            {
                ans += "%20";
            }
            else
                ans += c;
        return ans; 

    }
};

 1、for(char &c : s)是C++中的一个循环语句,用于遍历字符串或字符数组。 在这个语句中,s是要遍历的字符串或字符数组,而char &c是一个变量,表示每次循环中当前遍历到的字符。通过引用(&)声明,可以修改字符的值

2、c++在字符串后面追加字符串,  ans += "%20"  这里追加的字符串若长度大于一个字符,要使用" "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值