leetcode387. 字符串中的第一个唯一字符

举报
兔老大 发表于 2021/04/22 23:25:26 2021/04/22
【摘要】 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2.   注意事项:您可以假定该字符串只包含小写字母。 思路:放map里记录次数。或者考虑大小26的int数组。 输出第一个出现次数为1的即可。 class Soluti...

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.
 

注意事项:您可以假定该字符串只包含小写字母。

思路:放map里记录次数。或者考虑大小26的int数组。

输出第一个出现次数为1的即可。


  
  1. class Solution {
  2. public int firstUniqChar(String s) {
  3. HashMap<Character, Integer> count = new HashMap<Character, Integer>();
  4. int n = s.length();
  5. for (int i = 0; i < n; i++) {
  6. char c = s.charAt(i);
  7. count.put(c, count.getOrDefault(c, 0) + 1);
  8. }
  9. for (int i = 0; i < n; i++) {
  10. if (count.get(s.charAt(i)) == 1) return i;
  11. }
  12. return -1;
  13. }
  14. }

 

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/104189470

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。