怎么做网站流量统计分析,网站建设过程中需要注意的通用原则,网站后台验证码出不来,长春建站塔山双喜URL化。编写一种方法#xff0c;将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符#xff0c;并且知道字符串的“真实”长度。
示例 1#xff1a;
输入#xff1a;Mr John Smith , 13
输出#xff1a;Mr%20John%20Smith将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符并且知道字符串的“真实”长度。
示例 1
输入Mr John Smith , 13
输出Mr%20John%20Smith示例 2
输入 , 5
输出%20%20%20%20%20提示
字符串长度在 [0, 500000] 范围内。
最直接的一种方法是重新定义一个字符串来存储要返回的字符如果原字符串有空格则返回%20若不是空格则返回原字符
leetcode代码
class Solution {
public:string replaceSpaces(string S, int length) {string str;for(int i0;ilength;i){if(S[i] ){str%20;}else{strS[i];}}return str;}
};
class Solution {
public:string replaceSpaces(string S, int length) {int ilength-1;int jS.size()-1;while(i0){if(S[i] ){S[j--]0;S[j--]2;S[j--]%;}else{S[j--]S[i];}i--;}//注意是j1,因为最后对下标0的位置赋值之后还要做一次j--return S.substr(j1);}
};
第二种方法其实也比较容易想到比起第一种办法不浪费空间采用双指针的方式对同一个字符串进行操作。
有大佬知道为什么用replace方法会超时吗跪谢