华为-找出字符串中第一个只出现一次的字符
题目链接
#include using namespace std;struct character{ int prior; int num; char data; character(){ num = 0; prior = -1; }};int main(){ string s; while (cin >> s){ character buf[130]; int prior = 0; bool is_exist = false; for (int i = 0; i < s.length(); i++){ buf[s[i]].num++; buf[s[i]].data = s[i]; if (buf[s[i]].prior == -1){ buf[s[i]].prior = prior; } prior++; } int min = 131, min_i = 0; for (int i = 0; i < 130; i++){ if (buf[i].num == 1){ is_exist = true; if (buf[i].prior < min){ min = buf[i].prior; min_i = i; } } } if (is_exist == true){ cout << buf[min_i].data << endl; } else{ cout << "-1" << endl; } } return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~