leetcode 387. First Unique Character in a String

哈希存索引,再遍历即可。

    int firstUniqChar(string s) {
        vector<int> m(26, -1);
        for (int i = 0; i < s.size(); i++) {
            char now = s[i] - 'a';
            if (m[now] == -1)
                m[now] = i;
            else if (m[now] > -1)
                m[now] = -2;
        }
        int ret = INT_MAX;
        for (auto i : m)
            if (i >= 0 && i < ret)
                ret = i;
        return ret != INT_MAX ? ret:-1;
    }

 

posted on 2018-02-11 10:58  willaty  阅读(139)  评论(0编辑  收藏  举报

导航