LeetCode number387 字符串第一个没有相同的字符

来源:互联网 发布:c语言编程魔法书 pdf 编辑:程序博客网 时间:2024/05/18 03:42

题目:找到字符串中第一个没有与之相同的字符,返回其索引。
思路分析:遍历字符串,将字符存进map里,如果之前已有这个字符,那value+1。之后再遍历一遍字符串,找到第一个值为1的index。

   public  int firstUniqChar(String s) {            Map<Character,Integer> map=new HashMap<>();            char[] chS=s.toCharArray();            int index=-1;            for(int i=0;i<chS.length;i++){                if(map.containsKey(chS[i])){                    map.put(chS[i],map.get(chS[i])+1);                }                else{                    map.put(chS[i],1);                }            }            for(int i=0;i<chS.length;i++){                if(map.get(chS[i])==1) {                    index=i;                    break;                }            }            return index;        }
阅读全文
0 0