面试题35_第一个只出现一次的字符
来源:互联网 发布:生死狙击矩阵 编辑:程序博客网 时间:2024/05/16 06:32
题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。
思路一:暴力解法,双重循环,依次判断每个字符出现的次数,直到找到第一个只出现一次的字符。时间复杂度O(n^2)。
思路二:利用hash表来存储每个元素出现的次数,时间O(n) ,空间O(1)
解题思路
思路一:暴力解法,双重循环,依次判断每个字符出现的次数,直到找到第一个只出现一次的字符。时间复杂度O(n^2)。
思路二:利用hash表来存储每个元素出现的次数,时间O(n) ,空间O(1)
实现代码
class Solution {public: int FirstNotRepeatingChar(string str) { if(str.empty()) return -1; int len = str.size(); char* hashtb = new char[256]; for(int i=0; i<256;i++) hashtb[i] = 0; int index = -1; char value = 0; for(int i=0; i<len; i++) hashtb[str[i]]++; for(int i=0; i<len;i++) { if( hashtb[str[i]] == 1) { index = i; break; } } return index; }};
1 0
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题 35: 第一个只出现一次的字符
- 面试题35:第一个只出现一次的字符
- 面试题35_第一个只出现一次的字符
- 剑指Offer_面试题35_第一个只出现一次的字符
- 面试题39:第一个只出现一次的字符
- 面试题 <第一个只出现一次的字符>(11)
- 面试题35. 第一个只出现一次的字符
- 剑指offer面试题35第一个只出现一次的字符,用hash
- POJ 3177 Redundant Paths(边双连通分量)
- Axis2创建WebService实例
- Cocos2d-X lua 学习笔记之消息弹窗
- Java包行业命名规则习惯
- binlog 相关参数
- 面试题35_第一个只出现一次的字符
- 双向队列 SDUT 1466
- 【暑期基础】A HDU 2000 ASCII码排序
- common
- Java--正则表达式
- 多线程五(同步静态函数)
- 多线程应用(三)
- 《图论》——深度优先搜索算法(DFS)
- Java4Android-包和访问权限1