输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符。例如,输入“They are students.”和“aeiou”,则删除之后的第一个字符串变成“Thy r stdnts”。
输入格式:
输入包含多组测试,每个测试输入包含两个字符串。
输出格式:
输出删除后的字符串。
输入样例:
They are students.
aeiou
输出样例:
Thy r stdnts.
#include<iostream>
#include<string>
#include<map>
using namespace std;
void Delete(string stra,string strb) {
map<char,int> mymap;
for(int i=0;i<strb.length();i++) {
mymap[strb[i]]++;
}
for(int j=0;j<stra.length();j++) {
if(mymap[stra[j]]==0)
cout<<stra[j];
}
}
int main() {
string stra;
string strb;
while(getline(cin,stra)) {
getline(cin,strb);
Delete(stra,strb);
cout<<endl;
}
return 0;
}
java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){//java循环 输入?
String stra = sc.nextLine();
String strb = sc.nextLine();
deleteSam(stra, strb);
}
}
public static void deleteSam(String stra, String strb){
Map<Character, Integer> mymap = new HashMap<>();
for(int i = 0; i<strb.length(); i++){
// mymap[[strb]]++; c++用法
mymap.put(strb.charAt(i), 1);
}
for(int j = 0; j<stra.length(); j++ ){
if(mymap.get(stra.charAt(j))==null){
System.out.print(stra.charAt(j));
}
}
System.out.println();
}
}