`
SunnyYoona
  • 浏览: 364481 次
社区版块
存档分类
最新评论

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

 
阅读更多

【题目】

在一个字符串中找到第一个只出现一次的字符。如输入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';
    }
    // 初始化为0
    memset(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
    }//for
    return '\0';
}


int main(){
    string str("abbacccdeff");
    cout<<FirstNotRepeatingChar(str)<<endl;
    return 0;
}


分享到:
评论

相关推荐

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    面试题13:建立一个二叉树 面试题14:计算一棵二叉树的深度 面试题15:在二元树中找出和为某一值的所有路径 第11章 排序 11.1 插入排序 面试题1:编码实现直接插入排序 面试题2:编码实现希尔(Shell)排序 11.2 ...

    C 语言深度解剖--解开程序员面试笔试的秘密

    第一章 关键 字............................................................................................. ...................................... 9 1.1,最宽恒大量的关键字----auto......................

    C/C++笔试题(附答案,华为面试题系列)

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个 SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包...

    java 面试题 总结

    然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中...

    c++ 面试题 总结

    C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的...

    最新名企标准通用C++面试题,

    C++面试题 参考:http://blog.csdn.net/Ghost90/archive/2009/04/22/4099672.aspx 整理:松鼠 时间:2009-5-8 1、const 有什么用途?(请至少说明两种) 答: (1)可以定义 const 常量 (2)const可以修饰函数的...

    超级有影响力霸气的Java面试题大全文档

    当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例...

    最新Java面试宝典pdf版

    18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决? 107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他...

    亮剑.NET深入体验与实战精要2

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、...

    亮剑.NET深入体验与实战精要3

    因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、...

    net学习笔记及其他代码应用

    答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生) 30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例032 递归算法的经典面试题 39 实例033 制作一个数字猜猜看小游戏 40 实例034 使用goto语句在数组中搜索指定图书 42 第3章 字符串处理技术 44 3.1 字符及字符串转换 45 实例035 将字母全部转换为大写或小写 45 ...

Global site tag (gtag.js) - Google Analytics