题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
String str = sc.next();
char[] arr = str.toCharArray();
HashMap<Character, Integer> map = new HashMap<>();
// hashmap记录
for (int i = 0; i < str.length(); i++) {
map.put(str.charAt(i),map.getOrDefault(str.charAt(i),0)+1);
}
// 遍历,根据数组来,数组元素是有明确顺序的
for (int i = 0; i < arr.length; i++) {
if(map.get(arr[i])==1){ // 如果找到值为1
System.out.println(arr[i]);
break; // 只用输出一个即可
// 假如元素的value >1且是最后一个元素,则说明不存在
}else if(map.get(arr[i]) > 1 && (i==arr.length-1)){
System.out.println(-1);
}
}
}
}
}