#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
char findFirstOnce(char* a){
if(!a) return 'N';
int length=0,offset=0;
int* num = (int*) malloc(26*sizeof(int));
memset(num,0,26*sizeof(int));
while(*(a+offset) != '\0'){
num[(int)(*(a+offset))-(int)'a']++;
offset++;
}
offset=0;
while(*(a+offset) != '\0'){
if(num[(int)(*(a+offset))-(int)'a']==1) {
free(num);
return *(a+offset);
}
offset++;
}
free(num);
return 'N';
}
void main(){
char* a = (char*) malloc (100*sizeof(char));
memset(a,'\0',100);
int offset = 0;
const int len =99;
srand(time(0));
while(offset<len){
a[offset] = (char)(rand() % 26 + (int)'a');
offset++;
}
cout<<a<<endl;
cout<<findFirstOnce(a)<<endl;
free(a);
}
在字符串中找第一个出现一次的字符
最新推荐文章于 2020-11-30 11:04:10 发布