题目描述

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。

【思路】可以发现,出现的字符 和 它的出现的次数 是一种对应关系,自然联想到 哈希表key-value 这种对应,或者应用关联容器 map,可以很方便的解决这个问题。map 容器中,它的一个元素 就是一组(key,value)对应的数据

 class Solution
{
public:
//Insert one char from stringstream
void Insert(char ch)
{
Vec.push_back(ch);
Map[ch]++;
}
//return the first appearence once char in current stringstream
char FirstAppearingOnce()
{
for(vector<char>::iterator iter = Vec.begin();iter != Vec.end();iter ++){
if(Map[*iter] == )
return *iter;
}
return '#';
}
vector<char> Vec;
unordered_map<char,int> Map;
};

最新文章

  1. BitMap算法应用:Redis队列滤重优化
  2. Linux学习 :SPI通讯协议
  3. C语言基本类型之long long int
  4. 用WebBrowser采集渲染后的HTML页面
  5. AndroidImagePicker 的使用
  6. RHEL 集群(RHCS)配置小记 -- 文档记录
  7. java中的定时器
  8. Have trouble in your life
  9. 转 - Web新人(偏前端)应该怎样学习(个人观点,勿喷)
  10. Android与js交互实例
  11. 超出区域文字显示为省略号或者剪切效果——CSS的生僻操作
  12. java 打印空心菱形的两种实现
  13. 【洛谷P1052】过河 离散化+dp
  14. 【Python全栈-jQuery】jQuery基础知识
  15. [UE4]游戏主循环
  16. svn问题汇总
  17. vertical解锁table
  18. [兼容]——IE 8 常见兼容性问题
  19. Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法
  20. Centos7安装最新版本的docker

热门文章

  1. 异 形 卵 南阳acm709
  2. LVS那些事
  3. 破解使用SMB协议的Windows用户密码:acccheck
  4. 【BZOJ3611】大工程(虚树,动态规划)
  5. 程序员的冷笑话 python版本
  6. 「日常训练」All Friends(POJ-2989)
  7. 第二篇 CSS快速入门
  8. 第四模块:网络编程进阶&amp;数据库开发 第2章&#183;MySQL数据库开发
  9. 使用bing或google来翻译网页
  10. 今日头条 2018 AI Camp 6 月 2 日在线笔试编程题第一道——最大连续区间和扩展