LeetCode-387 字符串中的第一個唯一字符

1. 題目

https://leetcode-cn.com/problems/first-unique-character-in-a-string/

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

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

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


2. 我的AC

class Solution(object):
    def firstUniqChar(self, s):
        """
        :type s: str
        :rtype: int
        """
        mapping = {}
        for char in s:
            if char not in mapping:
                mapping[char] = 1
            else:
                mapping[char] += 1
        for i in range(len(s)):
            if mapping[s[i]] == 1:
                return i
        else:
            return -1

3. 小結

  1. 字典的值列表
  • dict.values() 以列表返回字典中的所有值
  1. 列表索引
  • list.index(obj) 某個值第一個匹配項的索引位置
  1. 遍歷字典元素
  • for key in d: 得到元素的鍵
  • key, value in d.iteritems(): 訪問鍵和對應的值
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 最近正在找實習,發現自己的算法實在是不能再渣渣,在網上查了一下,發現大家都在刷leetcode的題,于是乎本渣渣也...
    caoxian閱讀 922評論 0 2
  • 1. Two Sum 用hash可以得到O(n)時間的解法,用python中的enumerate函數,可以獲得元素...
    Morphiaaa閱讀 450評論 0 0
  • Python簡介 Python歷史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生閱讀 1,072評論 0 2
  • 算法很重要,但是每天也需要學學python,于是就想用python刷leetcode 的算法題,和我一起開始零基礎...
    三也視界閱讀 1,227評論 0 2
  • 哥哥亂踢瓶子玩,打到姐姐,因為之前警告過這樣會打到人,他沒當回事,我撿過他的瓶子就抽了他一下,還要沒收他的瓶子,他...
    甜心教主閱讀 292評論 0 0