牛客网-删除公共字符

题目描述

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

输入描述:

每个测试输入包含2个字符串

输出描述:

输出删除后的字符串
示例1

输入

They are students.
aeiou

输出

Thy r stdnts.
/*
思路:定义一个辅助数组,存放第二个字符串中存在各种字符;遍历第一个字符串,若存在第一个字符串中的
字符,则把该字符删除掉
*/
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
    string s1,s2;
    vector<char> str;
    int count[256]={0};
    getline(cin,s1);//输入一行
    getline(cin,s2);
    for(int i=0;i<s2.size();++i){
        count[s2[i]-'0']=1;
    }
    for(int i=0;i<s1.size();++i){
        if(count[s1[i]-'0']==1){
            s1=s1.erase(i,1); //删除从i开始的第一个字符,删除后指向被删除元素的后一个指针,所以需要i=i-1
            i=i-1;
        }
    }
    cout<<s1<<endl;
    system("pause");
    return 0;
}

 

posted @ 2017-09-03 13:57  静悟生慧慧  阅读(395)  评论(0编辑  收藏  举报