内容简介:在一个字符串中找到第一个只出现一次的字符。
1-题目
:
在一个字符串中找到第一个只出现一次的字符。
2-示例
:
输入 abaccdeff
,输出 b
。
3-思路
:
第一遍扫描时,每碰到一个字符,在哈希表中找到对应的项并把出现的次数加一;这样在进行第二次扫描时,直接从哈希表中得到每个字符出现的次数,打印出第一个次数为1的字符即可。
4-代码
:
#include <iostream> using namespace std; //true表示存在,false表示不存在或者字符串为空 bool FirstNotRepeatedChar(char *pString) { //若字符串为空 if (!pString) { return false; } //建立一个简单的哈希表,数组的下标对应每一个字符,256的大小对应256个字符 const int tableSize = 256; unsigned int hashTable[tableSize]; for (unsigned int i = 0; i < tableSize) { //养成初始化的好习惯 hashTable = 0; } //第一次遍历字符串 char *pHashKey = pString; while (*pHashKey != '\0') { //得到每个字符出现的次数 hashTable[*pHashKey]++; pHashKey++ } //第二次遍历字符串 pHashKey = pString; while (*pHashKey != '\0') { //若存在出现次数为1的字符,则打印并返回true if (hashTable[*pHashKey] == 1) { cout << "First not repeated char is : " << *pHashKey << "."; return true; } pHashKey++; } //若不存在出现次数为1的字符,则返回false return false; } </iostream>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 字符串、字符处理总结
- XML 非法字符(转义字符)
- 查找一个字符串中最长不含重复字符的子字符串,计算该最长子字符串的长度
- php删除字符串最后一个字符
- Python:如何用半角字符替换全角字符?
- 高频算法面试题(字符串)leetcode 387. 字符串中的第一个唯一字符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java从入门到精通
李钟尉、马文强、陈丹丹 / 清华大学出版社 / 2008-9 / 59.80元
《Java从入门到精通》(软件开发视频大讲堂)从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术。全书共分28章,包括:初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O输入输出,反射,枚举类型与泛......一起来看看 《Java从入门到精通》 这本书的介绍吧!