重复字符
给定一个字符串(全是小写字母,长度小于500),找到它的第一个不重复的字符,并输出这个字符,
如果不存在,则返回-1;
示例1:
输入:jmcoding
输出:j
示例2:输入:(重复三个ha)
解释:不给我写这个例子出来
输出:-1
解释:无重复字符

(Java)第一个例子可是实现,但第二个例子不会实现
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 无序繁星 2023-11-07 16:53关注
用数组存储字符次数,遍历找到第一个只出现一次的
class Solution{ public int findFirstChar(String s){ int[] chs = new int[26]; for (int i=0; i < s.length(); i++) chs[s.charAt(i) - 'a'] += 1; for (int i=0; i < s.length(); i++){ if (chs[s.charAt(i) - 'a'] == 1) return i; } return -1; } public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String str = scanner.next(); s = new Solution(); int idx = s.findFirstChar(str); if (idx == -1) System.out.println(idx); else System.out.println(str.charAt(idx)); scanner.close(); } }
解决 无用评论 打赏 举报