题目描述
题目主要是让我们找到第一个只出现一次的字符,如果没有并不是返回为空字符串,而是单空格,这个地方容易出错,大家一定要注意。
解题思路
博主原本想使用set来实现的,出现第二次就将其从set中去除,但是这种方法无法应对出现三次或者五次等奇数的情况。,因此后来采用了最简单的方法map遍历,然后将其次数存储到map的value中,key则是每一个单字符。
- 如果传入的参数是一个空字符串,则染回单空格。
- 初始化一个map,遍历每一个字符,并更新字符出现的次数。
- 遍历map的每一个item,如果item[1]等于1,则直接返回item[0]。
- 如果第三步没有找到符合条件的则返回单空格。
AC代码
var firstUniqChar = function (s) {