内容简介:在一个字符串中找到第一个只出现一次的字符。
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. 字符串中的第一个唯一字符
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据库系统概念
Abraham Silberschatz、Henry F. Korth、S. Sudarshan / 杨冬青、马秀莉、唐世渭 / 机械工业 / 2006-10-01 / 69.50元
本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书以前版本的中文版作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。 本书调整和新增内容:调整了第4版的讲授顺序。首先介绍SQL及其高级特性,使学生容易接受数据库设计的概念。新增数据库设计的专......一起来看看 《数据库系统概念》 这本书的介绍吧!