woxio770 发表于 2017-7-11 06:44:46

[华为]找出字符串中第一个只出现一次的字符

输入描述:
  输入一个非空字符串
  



输出描述:
  输出第一个只出现一次的字符,如果不存在输出-1

输入例子:

asdfasdfo


输出例子:

o




//用哈希统计词频
#include<iostream>
#include<string>
using namespace std;
int hasTable;

int main()
{   
   string s;   
   while(cin>>s)
   {      
         bool flag = false;      
         for(int i=0;i<256;++i)
             hasTable=0;      
         for(int i=0;i<s.size();++i)
             hasTable]++;      
         
         for(int i=0;!flag && i<s.size();++i)
         {            
             if(hasTable] == 1)
             {               
               cout<<s<<endl;               
               flag = true;               
               break;         
             }      
         }      
         
         if(!flag)            
             cout<<-1<<endl;   
   }   
   return 0;
}
页: [1]
查看完整版本: [华为]找出字符串中第一个只出现一次的字符