第一个只出现一次的字符

题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1

思路:map的思想。。。存一下每个字符出现的次数,然后扫一遍map,找到值为1的返回即可

 public int FirstNotRepeatingChar(String str) {
            if(str.length()==0) return -1;
            int[] res=new int[123];
            for(int i=0;i<str.length();i++){
              res[str.charAt(i)]++;
            }
            int i=0;
            for(;i<str.length();i++){
                if(res[str.charAt(i)]==1){
                    break;
                }
            }
            return i;
    }
原文地址:https://www.cnblogs.com/team42/p/6684322.html