leetcode笔记11 First Unique Character in a String

题目描述:

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"
return 0.

s = "loveleetcode",
return 2.

Note: You may assume the string contain only lowercase letters.

my answer:

主要思路:

首先把字符串变成字母列表,然后遍历列表字母建立一个计数字典和索引字典,再次遍历字母列表查找第一个出现的计数为1的字母的索引

出错点:

1 得到计数字典uni和索引字典ind之后,直接在uni里查找值为1的字母,这样出错的原因是,形成计数字典之后,字母顺序已经改变,所得字母并不是第一个出现的

2 忽略了不存在的情况,对于不存在的情况,即所有计数均大于1,这里使用的判断方法是对大于1的计数,如果最后得数等于list的长度则说明不存在

3 做逻辑运算时总是写成=,应该是双等号==

知识点:

for index,t in enumerate(list) 可同时遍历list 的值和索引

for k,v in uni.items()             可同时遍历字典uni的key 与 value

 

转载于:https://www.cnblogs.com/qicaide/p/6029888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值