【华为机试】找出字符串中第一个只出现一次的
来源:互联网 发布:知乎 永不瞑目 编辑:程序博客网 时间:2024/05/29 07:39
题目描述
找出字符串中第一个只出现一次的字符
输入描述:
输入一个非空字符串
输出描述:
输出第一个只出现一次的字符,如果不存在输出-1
示例1
输入
asdfasdfo
输出
o
分析:遍历每一个字符,每个字符都和之后的字符一一对比,如果有重复的先把所以的重复字符删掉,之后在删掉本身,若没有重复直接输出。如果此题的字符串只是大小写字母,那么一个好的方法是先一遍遍历求出每个字符出现的个数,在一次遍历判断是否只出现一次,是输出,不是继续。
程序:
#include <iostream>#include <string>using namespace std;inline void firstchar(string s){if(s.empty()) {cout<<-1<<endl;return;}int i=0;while(i<s.size()){int j=i+1,k=s.size();while(j<s.size())if(s[i]==s[j]) s.erase(s.begin()+j);else j++;if(k>s.size())s.erase(s.begin()+i);else {cout<<s[i]<<endl;return;}}cout<<-1<<endl;} int main(){string s;while(cin>>s)firstchar(s);return 0;}
阅读全文
0 0
- 华为机试——找出字符串中第一个只出现一次的字符
- 华为机试-找出字符串中第一个只出现一次的字符
- 【华为机试】找出字符串中第一个只出现一次的
- 【华为oj】找出字符串中第一个只出现一次的字符
- 华为OJ:找出字符串中第一个只出现一次的字符
- 华为在线测试题[基础篇]--找出字符串中第一个只出现一次的字符
- 【华为OJ】找出字符串中第一个只出现一次的字符
- 华为OJ(找出字符串中第一个只出现一次的字符)
- 找出字符串中第一个只出现一次的字符 华为OJ
- 华为OJ ---找出字符串中第一个只出现一次的字符(java实现)
- 华为OJ题库-找出字符串中第一个只出现一次的字符
- 华为oj_找出字符串中第一个只出现一次的字符
- 华为OJ基础篇-找出字符串中第一个只出现一次的字符
- 华为oj 找出字符串中第一个只出现一次的字符
- 华为oj 找出字符串中第一个只出现一次的字符
- 【华为OJ】【034-找出字符串中第一个只出现一次的字符】
- 华为OJ——找出字符串中第一个只出现一次的字符
- 华为OJ 初级:找出字符串中第一个只出现一次的字符
- CSU-ACM2017暑期训练4-dfs D
- 将二叉搜索树转换成一个排序的双向链表
- poj1655—Balancing Act(树的重心)
- 集合框架的基础知识
- HTML5 本地数据库
- 【华为机试】找出字符串中第一个只出现一次的
- 常用工具类作业(还没学全 只是一部分)
- ubuntu-用xshell无密码连接虚拟机报错
- C++实现一个线程安全且高效单例类。(懒汉与饿汉)
- Java核心技术学习---多线程,锁,同步,条件对象部分应用源码
- 五.SpringBoot集成实例系列-邮件email文章列表
- python 返回函数
- Android -- Activity组件基础
- DPDK 内存管理(一)(内存初始化)