【题目】

在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。

【分析】

【代码】

/*********************************
*   日期:2013-12-23
*   作者:SJF0115
*   题目: 13.第一个只出现一次的字符
*   来源:微软
*   分类:程序员面试题精选100题
**********************************/
#include <iostream>
#include <cstring>
using namespace std;// 第一个只出现一次的字符
char FirstNotRepeatingChar(string str){int count[256];int len = str.length();if(len <= 0){return '\0';}// 初始化为0memset(count,0,sizeof(count[0])*256);// 统计字符个数for(int i = 0;i < len;i++){count[str[i]]++;}//for// 寻找第一个只出现一次的字符for(int i = 0;i < len;i++){if(count[str[i]] == 1){return str[i];}//if}//forreturn '\0';
}int main(){string str("abbacccdeff");cout<<FirstNotRepeatingChar(str)<<endl;return 0;
}

[程序员面试题精选100题]13.第一个只出现一次的字符相关推荐

  1. 程序员面试题精选100题(13)-第一个只出现一次的字符[算法]

    题目:在一个字符串中找到第一个只出现一次的字符.如输入abaccdeff,则输出b. 分析:这道题是2006年google的一道笔试题. 看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符 ...

  2. 程序员面试题精选100题(34)-数组中只出现一次的数字[算法]

    题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 分析:这是一道很新颖的关于位运算的面试题. 首先我们 ...

  3. 程序员面试题精选100题

    程序员面试题精选100题(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向. 比如将二元查找树   ...

  4. 程序员面试题精选100题(51)-顺时针打印矩阵

    // 程序员面试题精选100题(51)-顺时针打印矩阵.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include <iostre ...

  5. 程序员面试题精选100题:求从1到n的正数中1出现的次数

    // 程序员面试题精选100题(25):求从1到n的正数中1出现的次数 // 如 f(253) = (2!=0) * 100 + 2 * f(99) + (5!=0) * 10 + 5 * f(9) ...

  6. 程序员面试题精选100题:41-50解题报告

    程序员面试题精选100题(41)-把数组排成最小的数[算法]   题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个.例如输入数组{32,  321},则输出这两个能 ...

  7. 程序员面试题精选100题:11-40解题报告

    程序员面试题精选100题(11)-求二元查找树的镜像[数据结构]   题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点.用递归和循环两种方法完成 ...

  8. [程序员面试题精选100题]19.反转链表

    题目 输入一个链表的头结点,反转该链表,并返回反转后链表的头结点. 分析 假设经过若干操作,我们已经把结点 pre之前的指针调整完毕,这些结点的next指针都指向前面一个结点.现在我们遍历到结点cur ...

  9. 程序员面试题精选100题(03)-子数组的最大和[算法]

    题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, ...

最新文章

  1. Chrome开发者工具详解(2)-Network面板
  2. windows 程序员电脑设置
  3. 配置连接池druid
  4. 深度学习用于图片的分类和检测总结
  5. VTK:点定位器用法实战
  6. Linux centosVMware Apache 配置防盗链、访问控制Directory、访问控制FilesMatch
  7. dj鲜生-用户中心-个人信息
  8. Jsp+Ssh+Mysql实现的简单的企业物资信息管理系统
  9. 花书+吴恩达深度学习(七)优化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)
  10. 一个标准的REST API测试代码
  11. JavaScript:正则表达式 分组
  12. Python转换图片格式 -- PIL库的使用
  13. winserver 08 64位安装sql05 64位提示asp版本注册
  14. ZIGBEE协议栈如何低功耗(CC2530+ZIGBEE2.5)
  15. c语言头随机数文件库,C语言随机数使用方法
  16. GEOTRANS 3.7 用户使用手册 之 坐标参考框架
  17. autofs后 卸载_nfs挂载无法卸载
  18. (原创)AD账户误删导致Exchange邮箱被删 莫苦恼
  19. c语言编写生日祝福语大全,C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢谢啦...
  20. 大城市容不下肉体,小城市容不下灵魂

热门文章

  1. 硬盘主引导记录(MBR)及其结构详解
  2. 正点原子STM32精英版LCD实验白屏
  3. xshell 7的远程连接
  4. Bigemap打开AutoCAD文件格式(DWG DXF)
  5. powershell脚本静默卸载软件
  6. 如何从零开始学Java
  7. 我,阿里的程序员,工作5年,揭露阿里员工的真实收入和工作经历
  8. 从零开始学编程——5G时代每个人都要有点编程思维
  9. opencv常用函数,QT中Mat与QImage的转换
  10. 程序员离职原因的最佳回答_员工离职了还将公司的代码盗走做开发!还挖走程序员!...