LeetCode之First Unique Character in a String

举报
chenyu 发表于 2021/07/27 00:19:43 2021/07/27
【摘要】 1、题目 Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1. Examples: s = "leetcode"return 0. s = "loveleetcode",return ...

1、题目

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:


   
  1. s = "leetcode"
  2. return 0.
  3. s = "loveleetcode",
  4. return 2.

 


2、代码实现


   
  1. public class Solution {
  2. public int firstUniqChar(String s) {
  3. if (s == null || s.length() == 0) {
  4. return -1;
  5. }
  6. HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  7. for (int i = 0; i < s.length(); i++) {
  8. Integer in = map.get(s.charAt(i));
  9. if (in == null)
  10. map.put(s.charAt(i), 1);
  11. else
  12. map.put(s.charAt(i), 2);
  13. }
  14. for (int i = 0; i < s.length(); i++) {
  15. if(map.get(s.charAt(i)) == 2) {
  16. continue;
  17. } else {
  18. if (map.get(s.charAt(i)) == 1) {
  19. return i;
  20. }
  21. }
  22. }
  23. return -1;
  24. }
  25. }

 
 

 


3、总结

一般看到求数组里面唯一元素,和字符串里面唯一元素,我们可以通过HashMap来解决,每个字符或者元素作为key,然后出现一次设置一个value1,出现2次以上设置一个统一的value2,最后通过遍历得到value1,来解决问题
 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/67725141

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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