题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
可以用hashmap集合统计字符出现次数,输出出现一次的
import java.util.Scanner;
import java.util.Vector;
public class Main {
//找出字符串中第一个只出现一次的字符
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
//统计字符出现的次数
HashMap<Character, Integer> map = new HashMap<>();
String s = sc.nextLine();
boolean exist = false; //是否存在出现次数为1的字符
for(char c: s.toCharArray()){
map.put(c,map.getOrDefault(c, 0) + 1);
}
//遍历数组,找出第一个出现一次的
for(char ch:s.toCharArray()){
if(map.get(ch)==1){
System.out.println(ch); //循环到map的value为1时,输出该字符
exist = true;
break;
}
}
if(exist==false){ //不存在则输出-1
System.out.println(-1);
}
}
}
}