描述:找出字符串中第一个只出现一次的字符
数据范围:输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000 
输入描述:输入一个非空字符串
输出描述:输出第一个只出现一次的字符,如果不存在输出-1
输入:asdfasdfo
输出:o
# 1/inputdef-list-set-dict
# 2/foriin-ifindict-dict+1
# 3/查值为1的set,1个则直接输出;多个则遍历instr-找每个字符串index小的输出
def exam1(instr):
    instr = instr
    idx = instr.index
    # 记录默认初始化字符的索引,便于后面dict排序后仍然可获取到默认的顺序,因字符减少但是没新增其他字符,idx才有用
    ins = list(instr)
    keys = set(ins)
    values = [0 for i in range(len(keys))]
    dic = dict(zip(keys,values))
    # 构建去重后list的字典,keys为字母,values初始化为0
    
    # keysnew = sorted(keys,key=idx)
    # print(keysnew)
    # keysnew: ['a', 's', 'd', 'f', 'o']
    # dic: {'a': 0, 'o': 0, 'd': 0, 's': 0, 'f': 0}
    
    for i in ins:
        if i in dic:
            dic[i] += 1
    # print(dic)
    # {'o': 1, 'a': 2, 's': 2, 'f': 2, 'd': 2}
    
    # 对去重的字典个数对应items每项目进行排序,排序以values倒序
    low = sorted(dic.items(),key=lambda x:x[1],reverse=False)
    # print(low)
    # [('o', 1), ('f', 2), ('d', 2), ('a', 2), ('s', 2)]
    
    # aabbccddeeff
    # [('f', 2), ('d', 2), ('c', 2), ('e', 2), ('a', 2), ('b', 2)]
    
    # 对倒叙的low里面取列表值单个元组的后1值为1,找对应元组0索引值,且按照初始化idx排序,则获取到第一位
    res = sorted( [ i[0] for i in low if i[1] == 1],key=idx)
    if len(res) == 0:
        print(-1)
    else:
        print(res[0])

# 运用count函数,str.count(i)发现1个则打印对应的字符并赋值给cnt,否则打印cnt默认值-1
def exam2(instr):
    cnt = -1
    for i in instr:
        if instr.count(i) == 1:
            # print(i)
            cnt = i
            break
    print(cnt)
instr = input().strip()
exam1(instr=instr)