string类push_back()方法比用+号空间耗费少,在力扣剑指 Offer 05. 替换空格题目中下面两种方法分别消耗空间6MB,11MB
class Solution {
public:
string replaceSpace(string s) {
string s1="";
for(char e:s){
if(e==' '){
s1.push_back('%');
s1.push_back('2');
s1.push_back('0');
}
else s1.push_back(e);
}
return s1;
}
};
class Solution {
public:
string replaceSpace(string s) {
string s1="";
for(char e:s){
if(e==' '){
s1=s1+"%20";
}
else s1=s1+e;
}
return s1;
}
};
这篇博客探讨了在C++中使用string对象的push_back()方法与使用+号进行字符串拼接时的空间效率差异。在处理大量空格替换为%20的场景下,使用push_back()方法可以显著减少内存消耗。文章通过对比两种方法在力扣剑指Offer05.替换空格题目的实现中分别消耗的内存空间6MB和11MB,强调了在优化字符串操作时选择合适方法的重要性。
1793

被折叠的 条评论
为什么被折叠?



