题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.util.*; import java.util.stream.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String line = in.nextLine(); List<Character> list = new ArrayList<>(); for(Character c : line.toCharArray()){ list.add(c); } Map<Character ,Long> map = list.stream().collect(Collectors.groupingBy(a -> a ,Collectors.counting())); Set<Character> set = map.entrySet().stream().filter(entry -> entry.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toSet()); list.removeAll(set); if(list.size() == 0){ System.out.println(-1); }else{ System.out.println(list.get(0)); } } }