题目描述:在字符串中找出一个第一个只出现一次的字符,如输入“abaccdeff”,则输出b
思路描述;
遍历两次,第一次遍历,将所有字符出现的次数记录下来,第二次遍历,如果该字符出现的次数为1,则输出并跳出循环。
Java实现:
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class 第一次只出现一次的字符 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String string = scanner.next();
f(string);
}
}
private static void f(String string) {
// TODO Auto-generated method stub
char[] c=string.toCharArray();
Map<Character, Integer> map = new HashMap<>();
for(int i = 0 ;i<c.length;i++){
if (map.containsKey(c[i])) {
map.put(Character.valueOf(c[i]), map.get(c[i])+1);
} else {
map.put(Character.valueOf(c[i]), 1);
}
}
for(int i = 0 ;i<c.length;i++){
if(map.get(c[i]).intValue()==1){
System.out.println(c[i]);
break;
}
}
}
}