求第一个无重复字符

 

如"total"的第一个无重复字符是o,"teeter"的第一个无重复字符是r,效率要优于O(n的平方)

 

c++风格,保证了效率的确定性

public static Character FirstNonRepeated(String string) {
    int[] counter = new int[128];
    for(int i=0; i<string.length();i++) {
        char ch = string.charAt(i);
        counter[ch]++;
    }
    for(int i=0; i<string.length();i++) {
        char ch = string.charAt(i);
        if(counter[ch] == 1)
            return ch;
        }
    return null;
}

    
    
    
    

你可能感兴趣的:(求第一个无重复字符)