华为机试HJ59 找出字符串中第一个只出现一次的字符

HJ59 找出字符串中第一个只出现一次的字符-Python

题目

解题思路

1、多组输入,需要循环
2、一个数组sc,记录字符和对应出现的次数;一个字符串ca,记录出现过的字符。
3、从输入的字符串中循环读取字符,没有在ca中出现的,是第一次出现的,就放入数组sc,并合入字符串ca;如果在ca中有,则是多次出现了,直接在数组对应key的值上加1,不必放入字符串ca了。
4、最后循环数组sc,返回第一个值是1的key,即字符。没有找到,则返回-1

代码

def func():
    s = input()

    if len(s.strip()) > 0:
        sc = {}
        ca = ""
        for c in s:
            if c in ca:
                sc[c] += 1
            else:
                sc[c] = 1
                ca += c
        for c in ca:
            if sc[c] == 1:
                return c
        return "-1"
    
while True:
    try:
        print(func())
    except:
        break


结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值