描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
例子:
s = "leetcode" , 返回 0
s = "loveleetcode", 返回 2
代码:
private fun firstUniqChar(s:String) : Int {
if (s.isEmpty()) return -1
val map = HashMap<Char, Int>()
for (i in 0 until s.length) {
val c = s[i]
map[c] = map.getOrDefault(c, 0) + 1
}
for (i in 0 until s.length) {
// 如果从1开始数,就加一,否则返回i
if (map[s[i]] == 1) return i + 1
}
return -1
}
网友评论