题解 | 找出字符串中第一个只出现一次的字符
#牛客创作赏金赛# #2025,我想......# #刷题我是认真的#
解题思路:
- 先将统计字符出现的次数,放入到map中
- 在遍历map,使用indexOf获取其在字符串的索引位置,不断比较找出最小值,没有则等于-1
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
char[] cArr = s.toCharArray();
List<Character> list = new ArrayList<>();
Map<Character, Integer> map = new HashMap<>();
for (char c : cArr) {
int num = map.getOrDefault(c, 0);
map.put(c, num + 1);
}
int index = Integer.MAX_VALUE;
for (char k : map.keySet()) {
int v = map.get(k);
if (v == 1) {
int tmp = s.indexOf(k);
if (tmp < index) {
index = tmp;
}
}
}
String rs = "-1";
if (index == Integer.MAX_VALUE) {
System.out.println(rs);
} else {
System.out.println(cArr[index]);
}
}
}
SHEIN希音公司福利 318人发布
查看24道真题和解析