题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
char[] chars = str.toCharArray();
Map<Character,Integer> map = new HashMap<>();
List list = new ArrayList();
for (int i = 0; i < chars.length; i++) {
int count = 1;
for (int j = i+1; j < chars.length; j++) {
if(chars[i]==chars[j]){
count++;
}
}
if(!map.containsKey(chars[i])){
list.add(chars[i]);
map.put(chars[i],count);
}
}
Iterator iterator = list.iterator();
while (iterator.hasNext()){
char index = (char) iterator.next();
if(map.get(index)==1){
System.out.println(index);
break;
}else if(!iterator.hasNext()){
System.out.println("-1");
}
}
}
}
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
char[] chars = str.toCharArray();
Map<Character,Integer> map = new HashMap<>();
List list = new ArrayList();
for (int i = 0; i < chars.length; i++) {
int count = 1;
for (int j = i+1; j < chars.length; j++) {
if(chars[i]==chars[j]){
count++;
}
}
if(!map.containsKey(chars[i])){
list.add(chars[i]);
map.put(chars[i],count);
}
}
Iterator iterator = list.iterator();
while (iterator.hasNext()){
char index = (char) iterator.next();
if(map.get(index)==1){
System.out.println(index);
break;
}else if(!iterator.hasNext()){
System.out.println("-1");
}
}
}
}