Go實現算法:字符串中的第一個唯一字符(LeetCode)

題目:

給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。如果不存在,則返回 -1。

案例:

s = "leetcode" 返回 0.

s = "loveleetcode", 返回 2.

注意事項:您可以假定該字符串只包含小寫字母。

解題思路:使用一個臨時數組記錄每一個字符出現的次數,按順序遍歷數組找出第一個出現1次的下標

func firstUniqChar(s string) int {

if len(s)==0{

return -1

}

tmp:=make([]int,26)

for i:=len(s)-1;i>=0;i--{//依次存入數組,順序無所謂

tmp[s[i]-'a']++

}

for i:=0;i

if tmp[s[i]-'a']==1{

return i

}

}

return -1

}

執行用時8ms

Go實現算法:字符串中的第一個唯一字符(LeetCode)


分享到:


相關文章: