【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:[email protected]】
题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始
思路
使用哈希表存储每个字母出现的次数,然后再来一次循环判断
class Solution { public: int FirstNotRepeatingChar(string str) { if(str=="") return -1; int len = str.length(); int hsh[300]{0}; for(int i = 0; i<len; ++i) hsh[str[i]]++; for(int i = 0; i<len; ++i) if(hsh[str[i]]==1) return i; return -1; } };
版权声明:本文为博主原创文章,如果转载,请注明出处
时间: 2024-10-13 22:25:12