算法-字符串中的第一個惟一字符

圖片描述

孤帆遠影碧空盡
惟見長江天際流數組

前言

給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。若是不存在,則返回 -1。spa

案例

s = "leetcode"
返回 0.code

s = "loveleetcode",
返回 2.blog

思路

1.利用哈希思想,聲明一個長度爲26的整型數組a,初始值都爲0
2.遍歷字符串,統計每一個字符出現的次數
3.再次遍歷字符串,找到第一個在數組a中出現的第一次的字母索引

代碼實現

int firstUniqChar(char * s){
        int a[26] = {0};
        int count = strlen(s);
        int index = 0;
        for (int i = 0; i < count; i++) {
            index = s[i] - 'a';
            a[index] ++;
        }
        for (int i = 0; i < count; i++) {
            if (a[s[i] - 'a'] == 1)
                return i;
        }
        return -1;
    }
相關文章
相關標籤/搜索