第一个只出现异常的字符

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

import java.util.HashMap;
import java.util.Map;

public class Solution {
    
    public int FirstNotRepeatingChar(String str) {
        
        if(str == null || str.length() == 0)
            return -1;
        Map map = new HashMap();
        for(int i = 0; i < str.length(); i++) {
            
            if(map.containsKey(str.charAt(i))) {
                
                int sum = map.get(str.charAt(i));
                sum ++;
                map.put(str.charAt(i), sum);
            }else{
                
                map.put(str.charAt(i), 1);
            }
        }
        int index = 0;
        for(int i = 0; i < str.length(); i++) {
            
            int sum = map.get(str.charAt(i));
            if(sum == 1){
                index = i;
                break;
            }
        }
        return index;
    }
    public static void main(String[] args) {
        
        Solution obj = new Solution();
        System.out.println(obj.FirstNotRepeatingChar("google"));
    }
}

你可能感兴趣的:(第一个只出现异常的字符)