统计字符出现的次数
第一个只出现一次的字符:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”则输出b,区分大小写。
可以利用一个数组来存放每个字符出现的次数,要统计的字符(字符对应的ascii数值)是数组的索引值,字符出现的次数是值。
char MainWindow::findOnlyOneChar(char *data) { if(data==nullptr) { return '\0'; } uint8_t table[122];//存储每一个字符的ascii值,大小写字母ascii值范围65-122 memset(table,0,122*sizeof(uint8_t)); char* temp=data; while(*temp!='\0') { table[*temp]++; temp++; } temp=data; while(*temp!='\0') { if(table[*temp]==1) { return *temp; } temp++; } return '\0'; }
std::cout<<findOnlyOneChar(("abaccdeff"))<<std::endl;//输出 b