Leetcode 387 字串中的第乙個唯一字元

2021-09-26 05:45:21 字數 534 閱讀 3224

題目描述

給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 -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...