字符串中第一个不重复的字符
思想:首先初始化一个哈希表,然后开始遍历字符串,每遍历一个字符串,当第一次出现的字符串位置信息存储到哈希表中,如果多次出现,就将值设为-1。遍历字符串之后,再遍历哈希表,得到value值大于1,并且位置信息最小的那个就是第一个不重复的字符串。
Python实现:
def find_first_single_char(str):
21 hash_table = OrderedDict.fromkeys(str)
22 for index,item in enumerate(str):
23 if hash_table[item] is None:
24 hash_table[item] = index
25 else:
26 hash_table[item] = -1
27
28 result = filter(lambda x:x[1]>=0,hash_table.iteritems())
29 if result:
30 return result[0]
--------EOF---------
微信分享/微信扫码阅读
微信分享/微信扫码阅读