美文网首页
29 - Easy - 字符串中的第一个唯一字符

29 - Easy - 字符串中的第一个唯一字符

作者: 1f872d1e3817 | 来源:发表于2018-05-19 22:40 被阅读0次

    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

    案例:

    s = "leetcode"
    返回 0.

    s = "loveleetcode",
    返回 2.

    注意事项:您可以假定该字符串只包含小写字母。

    class Solution:
        def firstUniqChar(self, s):
            """
            :type s: str
            :rtype: int
            """
            _one = {}
            _dict = {}
            for i in range(len(s)):
                if s[i] not in _dict:
                    _one[s[i]] = i
                    _dict[s[i]] = 1
                else:
                    if s[i] in _one:
                        _one.pop(s[i])
            _min = len(s)
            for k, v in _one.items():
                _min = min(_min, v)
            return _min if _min != len(s) else -1
    
    class Solution:
        def firstUniqChar(self, s):
            """
            :type s: str
            :rtype: int
            """
            # 只有26个字母,每一个字母都在字符串中查找计数
            return min([s.find(c) for c in string.ascii_lowercase if s.count(c) == 1] or [-1])
    
    

    相关文章

      网友评论

          本文标题:29 - Easy - 字符串中的第一个唯一字符

          本文链接:https://www.haomeiwen.com/subject/gszadftx.html