第一个只出现一次的字符
来源:互联网 发布:创意手机壳 知乎 编辑:程序博客网 时间:2024/06/06 00:23
题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1
#include <iostream>using namespace std;char FirstNoRepeatingChar(char* pString){if(pString == NULL)return '\0';const int tableSize = 256;unsigned int HashTable[tableSize];for(int i= 0; i < 256;i++){HashTable[i] = 0;}char* pHashKey = pString;while(*pHashKey != '\0'){HashTable[*(pHashKey)]++;pHashKey++;}pHashKey = pString;while(*pHashKey != '\0'){if(HashTable[*(pHashKey)] == 1)return *(pHashKey);pHashKey++;}return '\0';}
// ====================测试代码====================void Test(char* pString, char expected){ if(FirstNoRepeatingChar(pString) == expected) printf("Test passed.\n"); else printf("Test failed.\n");}int main(int argc, char* argv[]){ // 常规输入测试,存在只出现一次的字符 Test("google", 'l'); // 常规输入测试,不存在只出现一次的字符 Test("aabccdbd", '\0'); // 常规输入测试,所有字符都只出现一次 Test("abcdefg", 'a'); // 鲁棒性测试,输入NULL Test(NULL, '\0'); return 0;}
0 0
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- LNK2005错误 :error LNK2005: 已经在 libcmtd.lib(dbgheap.obj) 中定义
- 【polya】 HDOJ Count the Tetris
- 学习笔记1
- A new friend,Tim
- 分析手动构建复杂的Cell—(新浪为例)
- 第一个只出现一次的字符
- SwipeListView 详解 实现微信,QQ等滑动删除效果
- 提高生活质量,以自我为中心
- 【codechef】Common Strings(后缀数组)
- iOS异常处理
- 提取视频每一帧
- sharepoint 2013 使用powershell更改网站集配额和锁定
- java内部类
- class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as