题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.util.*;
// 利用ArrayList删除后重排的性质,以及HashSet元素不重复的性质
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
ArrayList<Character> list = new ArrayList<>();
HashSet<Character> deletedList = new HashSet<>();
String s = sc.next();
if(s.length()==0){
System.out.print(-1);
}
for(int i=0;i<s.length();i++){
if(!list.contains(s.charAt(i))&&!deletedList.contains(s.charAt(i))){
list.add(s.charAt(i));
}
else if(deletedList.contains(s.charAt(i))){
continue;
}
else{
list.remove(list.indexOf(s.charAt(i)));
deletedList.add(s.charAt(i));
}
}
if(list.size()==0){
System.out.print(-1);
}
else{
System.out.print(list.get(0));
}
}
}
}