剑指offer-JZ2
替换空格
https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68?tpId=13&tqId=11155&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tab=answerKey
C++
遍历并替代,考察string的使用;
思路1:逐渐遍历,然后替换
时间复杂度
空间复杂度
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
string replaceSpace(string s) {
// write code here
string str;
for (int i=0; i<s.size(); i++){
if (s[i] !=' '){
str+= s[i];
}else{
str+="%20";
}
}
return str;
}
};思路2:直接利用string 的代替函数
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
string replaceSpace(string s) {
// write code here
for (int i=0; i<s.size(); i++){
if (s[i] == ' '){
s.replace(i,1,"%20");//从i位置开始的1个字符替换为%20
}
}
return s;
}
};
查看14道真题和解析