在一个字符串中找出第一次重复出现的字符

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。

给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。

测试样例:
"qywyer23tdd",11
返回:y
思路:使用一个hash数组保存每个变量是否出现过,当第一个出现过时直接返回,由于题目中指出肯定有重复的字符,所以这点不需做考虑;
代码如下:
char findFirstRepeat(string A, int n) {
        int hash_arr[256] = {0};
        for(int i = 0; i < n; i++)
            if(hash_arr[A[i]] == 0)
           		 hash_arr[A[i]] = 1;
            else
               return A[i];
    }

你可能感兴趣的:(hash)