34、第一个只出现一次的字符

2017-09-02  本文已影响0人  quiterr

题目描述
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置

import java.util.HashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        HashMap<Character,Integer> ha = new HashMap<>();
        for(int i=0; i<str.length(); i++){
            if(ha.get(str.charAt(i))==null){
                ha.put(str.charAt(i),1);
            }else{
                int tmp = ha.get(str.charAt(i));
                tmp++;
                ha.put(str.charAt(i),tmp);
            }
        }
        
        int index = -1;
        for(int i=0; i<str.length(); i++){
            if(ha.get(str.charAt(i))!=null && ha.get(str.charAt(i))==1){
                index = i;
                break;
            }
        }
        return index;
    }
}
上一篇下一篇

猜你喜欢

热点阅读