[LeetCode] First Unique Character in a String 字符串第一個不同字符


 

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"
return 0.

s = "loveleetcode",
return 2.

Note: You may assume the string contain only lowercase letters.

 

這道題確實沒有什么難度,我們只要用哈希表建立每個字符和其出現次數的映射,然后按順序遍歷字符串,找到第一個出現次數為1的字符,返回其位置即可,參見代碼如下:

 

class Solution {
public:
    int firstUniqChar(string s) {
        unordered_map<char, int> m;
        for (char c : s) ++m[c];
        for (int i = 0; i < s.size(); ++i) {
            if (m[s[i]] == 1) return i;
        }
        return -1;
    }
};

 

類似題目:

Sort Characters By Frequency

 

參考資料:

https://leetcode.com/problems/first-unique-character-in-a-string/

https://leetcode.com/problems/first-unique-character-in-a-string/discuss/86348/Java-7-lines-solution-29ms

 

LeetCode All in One 題目講解匯總(持續更新中...)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM