利用c++string重载了“+”的特性,有效减少循环。
一、替换空格
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution {
public:
void replaceSpace(char *str,int length) {
vector<int> index;
char *add="%20";
string str_;
for(int i=0;i<length;++i)
{
if(str[i]==' ')
{
str_+=add;
}
else
{
str_+=str[i];
}
}
strcpy(str, str_.c_str());
}
};
二、删除公共字符
题目描述
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
输入描述:
每个测试输入包含2个字符串
输出描述:
输出删除后的字符串
示例1
输入
复制
They are students.
aeiou
输出
复制
Thy r stdnts.
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
string s1,s2;
int len;
getline(cin,s1);getline(cin,s2);
//cout<<s1<<" "<<s2<<endl;
string temp;
len=s1.size();
for(int i=0;i<len;++i)
{
if(s2.find(s1[i])==string::npos)
{
temp+=s1[i];
}
}
cout<<temp<<endl;
}