第一个只出现一次的字符

题目:在一个字符串(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;
    }

 

posted @ 2017-04-09 13:05  雪浪snowWave  阅读(87)  评论(0编辑  收藏  举报