剑指-在字符串中找出第一个只出现一次的字符
来源:互联网 发布:淘宝平面模特兼职 编辑:程序博客网 时间:2024/04/29 10:16
题目:
在字符串中找出第一个只出现一次的字符. 如输入abaccdeff,则输出b
思路:
可以定义哈希表的Key是字符,Value是该字符出现的次数. 这样需要扫描字符串两次,第一次扫描,每扫描到一个字符就在哈希表的对应项次数加1. 接下来第二次扫描时,每扫描一个字符就能获取到该字符出现的次数. 本题比较特殊,简单的哈希表就能满足需求.字符char是一个长8位的数据类型,共有256中可能. 于是创建一个256的数组,每个字符的ASCII码值作为数组的下标,其值对应字符次数. 这样就创建了一个256大小,以字符ASCII码作为键值的哈希表.
public static void main(String[] args) { String str = "abaccdeff"; System.out.println(firstNotRepeatingChar(str));}private static char firstNotRepeatingChar(String str) { char[] hasTable = new char[1<<8]; for (int i = 0; i < str.length(); i++) { hasTable[str.charAt(i)]++; } for (int i = 0; i < str.length(); i++) { if (hasTable[str.charAt(i)] == 1) { return str.charAt(i); } } return 0;}
0 0
- 【一些题】剑指offer:在字符串中找出第一个只出现一次的字符
- 剑指-在字符串中找出第一个只出现一次的字符
- 找出字符串中只出现一次的第一个字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- oclazyload
- js清空input类型为type的文件框的内容
- 非静态内部类的修饰符及其访问范围
- OS参数采集
- express 4.X cookie session
- 剑指-在字符串中找出第一个只出现一次的字符
- C语言笔试考点
- Android 设置EditText光标颜色及粗细
- SQLite反射封装
- 【规则引擎连载2】 WebSphere ILOG JRules 开发——新建一个规则项目的bom
- primary key 与 unique 约束的区别与作用
- Codeforces刷题之路——546A Soldier and Bananas
- iOS之NSURLSession的使用
- BT配对/取消配对示例