题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
思路:
1.使用map集合记录各个字符出现的次数
2.遍历str字符串,若当前字符的次数为1,则输出当前字符。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
String str=in.next();
Map<Character,Integer> map=new HashMap<>();
for(int i=0;i<str.length();i++){//记录各个字符出现次数
map.put(str.charAt(i),map.getOrDefault(str.charAt(i),0)+1);
}
int j=0;
for(;j<str.length();j++){
if(map.get(str.charAt(j))==1){
break;
}
}
if(j!=str.length()){//表明是找到了字符退出循环
System.out.println(str.charAt(j));
}else{//表明是没找到而退出循环
System.out.println(-1);
}
}
}