面试题35:第一个只出现一次的字符
2016-05-10 15:49
330 查看
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
①判断多个字符是不是在某个字符串里出现过②统计多个字符在某个字符串中出现的次数
可以考虑基于数组创建一个简单的哈希表。
相关题目见《剑指offer》
/************************************************************************* > Created Time: Tue 10 May 2016 12:17:48 PM PKT ************************************************************************/ #include<iostream> using namespace std; char FirstNotRepeatChar(char* str) { if(str==NULL){ return '\0'; //注意一定是\0 } int hash[256]; //重点,需要初始化,依赖系统初始化不可靠 for(int i=0;i<256;i++){ hash[i]=0; } char* c=str; while(*c!='\0'){ hash[*c]++; c++; } c=str; while(*c!='\0'){ if(hash[*c]==1){ return *c; } c++; } return '\0'; } //测试 void test() { char* str="abaccdeff"; char c=FirstNotRepeatChar(str); cout<<c<<endl; }
①判断多个字符是不是在某个字符串里出现过②统计多个字符在某个字符串中出现的次数
可以考虑基于数组创建一个简单的哈希表。
相关题目见《剑指offer》
相关文章推荐
- 写给我们这些浮躁的程序员
- C# 程序员最常犯的 10 个错误
- 我看过的关于职业规划最好最全面的一篇文章(因为在另外一个人博客中他转载的字体太大了颜色太鲜艳不适宜阅读,所以就自己转载了)
- 面试题目
- JAVA面试题(3)
- JAVA面试题(2)
- JAVA面试题(1)
- 关于栈的面试题
- 面试题34:丑数
- 程序员必须知道的几个Git代码托管平台
- 谈谈面试和博客写作
- 谈谈面试和博客写作
- 谈谈面试和博客写作
- JAVA多线程和并发基础面试问答
- 分享~~黑马程序员-java内存结构和对象创建的过程
- 阿里、百度、搜狐等公司社招面试记录与总结(转)
- 软考程序员随笔-----5
- 【职场励志小文章】别让脾气毁了你
- 完整版:资深程序员都了解的代码复用法则
- 完整版:资深程序员都了解的代码复用法则