第五章 数 组-130:找第一个只出现一次的字符

130:找第一个只出现一次的字符

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 30975 通过数: 11749
【题目描述】
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

【输入】
一个字符串,长度小于100000。

【输出】
输出第一个仅出现一次的字符,若没有则输出no。

【输入样例】
abcabd
【输出样例】
c


思路:桶排的思想统计26个小写字母出现频次,统计每个数字出现的个数,然后判断第一个仅出现一次的字符

#include<bits/stdc++.h>
using namespace std;
int main(){
	char s[100000];
	int c[26],lena;
	int i;
        gets(s);
         lena = strlen(s);
	for(i = 0;i < lena;i++)//统计每个数字出现的个数
	   c[s[i] - 'a']++;
	for(i = 0;i < lena;i++)
	
 	  if(c[s[i]-'a'] == 1)	)//如果出现过一次
	 {
	   printf("%c\n",s[i]);
	     return 0;
	 }	
	printf("no\n");
  return 0;
}

发布了396 篇原创文章 · 获赞 2 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览