1. 程式人生 > >【LeetCode & 劍指offer刷題】字串題1:50 第一個只出現一次的字元(387. First Unique Character in a String)

【LeetCode & 劍指offer刷題】字串題1:50 第一個只出現一次的字元(387. First Unique Character in a String)

【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...)

387. 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.   //O(n), 以空間來換時間 class
Solution { public :     int firstUniqChar ( string s )     {        unordered_map <
char , int > m ; //也可直接用一個數組        for ( auto & c : s ) //基於範圍的for迴圈         {             m [ c ]++;         } //若用陣列來做統計表,由於是定長的(對普通字元,256長度),可以看做空間複雜度為O(1)        /* for(int i = 0;i<s.size();i++)         {             m[s[i]]++;         }*/                for ( int i = 0 ; i < s . size (); i ++)         {             if ( m [ s [ i ]]== 1 ) return i ;         }                return - 1 ;     } };