判断字符串/列表中的元素是否只出现一次,以及找到只出现一次的元素

判断字符串中某个字符是否只出现一次

class Solution:
    def firstUniqChar(self, s: str) -> str:
        # dt = collections.OrderedDict()  是有序字典,则最终返回的是第一个只出现一次的元素
      	dt = {}
        # 如果c只出现一次的话,那么为true;如果出现一次以上,为false
        for c in s:
            dt[c] = not c in dt
        # 找到只出现一次的元素
        for c in dt.keys():
            if dt[c]:
                return c
        return ' '

判断列表中某个元素是否只出现一次

class Solution:
    def firstUniqChar(self, lt: list) -> str:
      	dt = {}
        # 如果c只出现一次的话,那么为true;如果出现一次以上,为false
        for c in lt:
            dt[c] = not c in dt
        # 找到只出现一次的元素
        for c in dt.keys():
            if dt[c]:
                return c
        return ' '

来自 剑指 Offer 50. 第一个只出现一次的字符

你可能感兴趣的:(python,leetcode,leetcode,算法)