题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String s = in.nextLine();
// 用LinkedHashMap来保证之后遍历时是按照添加顺序来的
LinkedHashMap<Character, Integer> counts = new LinkedHashMap<>();
for (char c: s.toCharArray())
counts.put(c, counts.getOrDefault(c, 0) + 1);
boolean existed = false;
for (char c: counts.keySet()) {
if (counts.get(c) == 1) {
existed = true;
System.out.println(c);
break;
}
}
if (!existed) {
System.out.println(-1);
}
}
}
}

查看12道真题和解析