剑指Offer——第一个只出现一次的字符位置
2017-11-01 00:30
190 查看
题目描述:
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。
分析:
用一个数组统计每个字符出现的次数。
再次扫描数组,如果找到第一个字符次数为1的,那么返回它的位置。
代码:
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。
分析:
用一个数组统计每个字符出现的次数。
再次扫描数组,如果找到第一个字符次数为1的,那么返回它的位置。
代码:
1 class Solution { 2 public: 3 int FirstNotRepeatingChar(string str) { 4 int strLen = str.length(); 5 int times['z' + 1]; 6 memset(times, 0, sizeof(int) * ('z' + 1)); 7 for(int i = 0; i < strLen; i++) { 8 times[str[i]]++; 9 } 10 for(int i = 0; i < strLen; i++) { 11 if(times[str[i]] == 1) { 12 return i; 13 } 14 } 15 return -1; 16 } 17 };
相关文章推荐
- 剑指Offer--035-第一个只出现一次的字符位置
- 剑指Offer--第一个只出现一次的字符位置
- 【剑指Offer】第一个只出现一次的字符位置
- 码农小汪-剑指Offer之32 -第一个只出现一次的字符位置
- 剑指offer:第一个只出现一次的字符位置
- 【剑指Offer-时间效率平衡】在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 剑指offer----第一个只出现一次的字符位置----java实现
- (C++)剑指offer-34:第一个只出现一次的字符位置(时间空间效率的平衡)
- 剑指offer:第一个只出现一次的字符位置
- [剑指offer]第一个只出现一次的字符位置
- 剑指offer 34 第一个只出现一次的字符位置
- 剑指offer---连续子数组的最大和、第一个只出现一次的字符的位置
- 剑指Offer—34—第一个只出现一次的字符位置
- 【剑指Offer】第一个只出现一次的字符位置
- 剑指offer 第一个只出现一次的字符 hash
- 剑指offer34_第一个只出现一次的字符
- 剑指offer-第一个只出现一次的字符
- 剑指offer:第一个只出现一次的字符
- 剑指offer——第一个只出现一次的字符
- 【剑指offer】面试题50(1):第一个只出现一次的字符