首页 > 编程 > C++ > 正文

[华为OJ--C++]034-找出字符串中第一个只出现一次的字符

2019-11-08 03:07:37
字体:
来源:转载
供稿:网友

题目描述:找出字符串中第一个只出现一次的字符,如果无此字符 请输出 '.'

输入描述:输入一串字符

输出描述:输出一个字符

输入例子:asdfasdfo

输出例子:o

算法实现:

#include<iostream>#include<vector>#include<string>using namespace std;/************************************************   * Author: 赵志乾   * Date: 2017-2-17    * Declaration: All Rigths Reserved !!!   ***********************************************/class node{	public:		int time;		int order;		node():time(0),order(0)		{		}};int main(){	string instr;	getline(cin,instr);	vector<node>ret(128);	int order=0;	for(int i=0;i<instr.length();i++)	{		if(ret[instr[i]].time==0)		{			ret[instr[i]].time=1;			ret[instr[i]].order=order++;		}		else		{			ret[instr[i]].time++;		}	}	char c=128;	int index=128;	for(int i=0;i<ret.size();i++)	{		if(ret[i].time==1&&index>ret[i].order)		{			c=i;			index=ret[i].order;		}	}	if(index==128)		cout<<'.'<<endl;	else		cout<<c<<endl;	return 0;}

o
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选