字符串中第一个不重复的字符

思想:首先初始化一个哈希表,然后开始遍历字符串,每遍历一个字符串,当第一次出现的字符串位置信息存储到哈希表中,如果多次出现,就将值设为-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---------
微信分享/微信扫码阅读