在一个字符串中找到第一个只出现一次的字符

转!

问题:

给定一个字符串,比如 A = “ABCDACD”, 找出第一个只出现一次的字符,在A中,第一个只出现一次的字符是‘B’。

分析:

为了判定某字符是否出现一次,我们可以从从头开始往下遍历,如果没有重复,则选取,否则抛弃。这样做的话复杂度为 O(n^2)。其实,对于判定是否存在或者存在的次数等问题,基本上都会与hastable有关,我们可以构建一个数组 array[256] (ASCII), 然后对字符串先进行处理,对于每个出现的字符,我们可以在相对应的位置+1。这样,我们再次从头开始对字符串进行遍历,如果发现某一字符个数为1,则返回该字符。

 

 

转载请注明出处: http://blog.youkuaiyun.com/beiyeqingteng

转载于:https://www.cnblogs.com/joyclub/p/4474080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值