算法强化每日一题--删除公共字符-爱代码爱编程
先来看看题目
输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符。例如,输入“They are students.”和“aeiou”,则删除之后的第一个字符串变成“Thy r stdnts”。
思路:
这个题目使用Set来做,set具有去重的效果
遍历第二个没有重复元素的数组放到set中
再遍历第一个长的数组,和set的元素比较,如果相同就跳过,不相同,就放到拼接字符串中
然后搞一个StringBuffer对象,用于拼接符合条件的字符串
思路有了,我们来看一看代码
public class TestDemo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String s1=in.nextLine();
String s2=in.nextLine();
Set<Character> set=new HashSet<>();
StringBuffer stringBuffer=new StringBuffer();//拼接字符串
for(int i=0;i<s2.length();i++) {
char ch = s2.charAt(i);
set.add(ch);
}
for(int j=0;j<s1.length();j++){
char ch1=s1.charAt(j);
if(!set.contains(ch1)){
stringBuffer.append(ch1);
}
}
System.out.println(stringBuffer);
}
}
下期再见,各位老铁!!!