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)


分享到:


相關文章: