首页 > 代码库 > C++ 算法之 第一个只出现一次的字符
C++ 算法之 第一个只出现一次的字符
题目:在字符串中找出第一个只出现一次的字符,如输入“abaccdeff”则输出‘b’
思路:采用一个数组记录出现的次数然后再遍历该数组:
// Find.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;/*字符char是一个长度为8的数据类型,因此总共有256种可能,于是我们创建一个长度为256的数组每个字母根据其ASCII码值作为数组的下标对应数组的一个数字,而数组中存储的是每个字符出现的次数*/char FindFirstChar(char* pString){ if(pString == NULL) return '\0'; const int N = 256; int b[N]; for(int i = 0; i < N; ++i) { b[i] = 0; } char* p = pString; while (*p != '\0') { b[*(p++)]++; } p = pString; while (*p != '\0') { if (b[*p] == 1) { return *p; } ++p; } return '\0';}int _tmain(int argc, _TCHAR* argv[]){ char* pString = "abcddeeff"; char c = FindFirstChar(pString); cout<<c<<endl; getchar(); return 0;}
C++ 算法之 第一个只出现一次的字符
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。