找出第一个只出现一次的字符
来源:互联网 发布:博洋挂机软件 编辑:程序博客网 时间:2024/05/22 09:42
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
题目很简单
用一个int 数组,全部初始化为-1.
遍历字符串,如果值为-1,就将值改为字符串的下标,否则设为-2
然后再扫描一遍这个数组,找到大于等于0并且最小值即可
有一种方法只要扫描一遍。
GetFirstOnce(const char* szString){ assert(NULL != szString); int ChrToFreq[256]; memset(ChrToFreq, 0, sizeof(ChrToFreq)); char OrderToChr[256];//记录字符第一次出现的次序 memset(OrderToChr, 0, sizeof(OrderToChr)); int nIter = 0; int nRet = 0;//指向至今为止,第一次只出现一次的字符 while (0 != *szString) { ChrToFreq[*szString]++; if (1 == ChrToFreq[*szString]) OrderToChr[nIter++] = *szString; while(nRet < nIter && ChrToFreq[OrderToChr[nRet]] > 1) nRet++; szString++; } if (nRet == nIter) return 0; return OrderToChr[nRet];}
- 找出字符串的第一个只出现一次的字符
- 找出字符串中只出现一次的第一个字符
- 找出字符串中第一个只出现一次的字符
- 找出第一个只出现一次的字符
- 找出数组中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 360笔试--“找出第一个只出现一次的字符”
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- 剑指offer32--找出第一个只出现一次的字符
- 找出字符串中第一个只出现一次的字符
- java排序算法_006归并排序
- 冒泡排序
- VS2010快捷键
- 设备驱动程序INF文件
- jQuery表格插件(隔行换色、划过变色、全选)
- 找出第一个只出现一次的字符
- C++面试宝典2011版
- jsp+mysql防止乱码
- VC MessageBox 提示整形 int转String
- PowerDesigner 使用 MySQL 的 auto_increment
- Watchdog kills system service in system_server *****
- 求最大子序列及其效率解析
- Yii框架授权——accessRules用法
- C输入输出