題目描述
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 -1。
案例:s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事項:您可以假定該字串只包含小寫字母。
解法:通常定義乙個長度為26的陣列,陣列的每一位代表乙個字母abcd.....z
其中陣列中的值標記字串中 每乙個 字元對應出現的次數。
先遍歷字串s ,用字串中的每乙個字元減去『a』,這樣得到乙個差值,以這個差值作為下標更新陣列,在字串後面的字元如果有跟前面相同的字元,同樣的陣列中的位置不變,讓其加一,這樣我們便知道字串中每個字元的個數,然後再次遍歷字串,
以字元出現的順序遍歷
如果發現第乙個個數為1的字元,就是我們要找的位置。
class solution ;
for(int i=0; ifor(int j=0; jreturn -1;
}};
LeetCode387 字串中的第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母。思路 雜湊?利用陣列下標記錄字母出現次數,另外建立乙個臨時陣列記錄各個字元首次出現的位置 int ...
leetcode387 字串中的第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母。整體思路還是先統計然後查詢。第一步 新建乙個長度為26的陣列,存放字母a z出現的次數,然後遍歷字...
leetcode 387 字串中第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.注意事項 您可以假定該字串只包含小寫字母 class solution object def firstuniqchar self,s ty...