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

 

posted @ 2016-11-04 13:13  qicaide  阅读(104)  评论(0编辑  收藏  举报