【剑指offer】之第一个只出现一次的字符
2015-12-09 17:16
330 查看
题目描述:
在一个字符串中找到第一个只出现一次的字符。比如输入“abacceff”,输出“b”。
分析:
题目描述:
在一个字符串中找到第一个只出现一次的字符。比如输入“abacceff”,输出“b”。
分析:
/** * * 利用哈希表算法,扫描两次字符串,第一次记录相同位置的字符出现的次数,第二次找到第一个次数为1的字符并返回。时间复杂度为o(n)。 */ private static char findChar(String str) { char[] chars = getChars(str); int[] hashtable = new int[256]; for(int i=0;i<chars.length;i++) { int index = 0; if(chars[i] >= 0) index = chars[i]; else index = chars[i] + 256; hashtable[index] ++ ; } for(int i=0;i<chars.length;i++) { int index = 0; if(chars[i] >= 0) index = chars[i]; else index = chars[i] + 256; if(hashtable[index] == 1) return chars[i]; } return '\0'; }
相关文章推荐
- javascript DOM
- jquery 的ajax 用法
- JavaScript:student-information-system-node-express-mongoose 学生信息管理系统
- js 只能输入数字和小数点
- 前端性能优化之CSS详细解读
- 谈谈java中的WeakReference
- 【转】Javascript DI!Angular依赖注入的实现原理
- CSS3 线性渐变(linear-gradient)
- jquery日历组件,时间组件应用
- js之正则表达式1
- 使用JQuery跨域请求
- pjsip集成webrtc媒体处理
- 很容易学习的JQuery库 : (八) 杂项 noConflict() 方法
- 夺命雷公狗---Smarty NO:19 html_options函数
- jquery 遍历被选中复选框的值
- js学习参考资料
- javascript之DOM操作
- 夺命雷公狗---Smarty NO:18 html_checkboxes
- 夺命雷公狗---Smarty NO:17 html_table函数
- jquery 弹出框