首页 > 代码库 > 【编程题目】在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
【编程题目】在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
第 17 题(字符串):
题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
思路:此题非常容易。 最开始是想开辟一块空间存储每个字符出现的次数。 但转念一想,似乎没有必要。 对每一个字符,都依次和后面的比较,若出现了两次,则检查下一个字符,遇到只出现一次的,直接输出就好了。
/*第 17 题(字符串):题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。分析:这道题是 2006 年 google 的一道笔试题。*/#include <stdio.h>char findfirstone(char * in){ for(int i = 0; in[i] != ‘\0‘; i++) { int numofnow = 1; char now = in[i]; for(int j = i + 1; in[j] != ‘\0‘; j++) { if(now == in[j]) { numofnow++; break; } } if(numofnow == 1) { printf("%c", now); return now; } } printf("no only one alphabet!"); return ‘\0‘;}int main(){ char * a = "asdasasgegsadfevhftdtsdufytdyghnaofjalkvjn"; findfirstone(a); return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。