leetcode-最初に1回しか表示されない文字(整列辞書)

522 ワード

テーマソース:リンク
タイトルの説明:
文字列sに最初に1回しか現れない文字を見つけます.ない場合は、単一のスペースを返します.sは小文字のみを含む.
例:
s = "abaccdeff"
   "b"

s = "" 
   " "

コード実装:
def func(s):
    dic = collections.OrderedDict()
    for c in dic:
        dic[c] = not c in dic
    for k,v in dic.items():
        if v:
            return k
    return " "

問題解決の考え方:
実はvalueをboolタイプに変えて、もしあるkeyが現れていないならば、valueはTrueで、さもなくばFalseです
valueで判断すると、Trueの該当条件となり、直接戻ります