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

2018-05-19  本文已影响0人  1f872d1e3817

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -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])

上一篇下一篇

猜你喜欢

热点阅读