首页 > 试题广场 >

找出字符串中第一个只出现一次的字符

[编程题]找出字符串中第一个只出现一次的字符
  • 热度指数:220618 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的字符串,找出第一个只出现一次的字符。如果不存在,则输出 -1

输入描述:
\hspace{15pt}在一行上输入一个长度为 1 \leqq {\rm len}(s) \leqq 10^3、仅由小写字母构成的字符串 s


输出描述:
\hspace{15pt}如果存在只出现一次的字符,输出第一个满足条件的字符;否则,直接输出 -1
示例1

输入

asdfasdfo

输出

o
示例2

输入

aabbcc

输出

-1
头像 牛客155969019号
发表于 2021-10-17 14:05:18
while True: try: s = input() for i in s: if s.count(i) == 1: print(i) break e 展开全文
头像 皮牙子
发表于 2021-05-24 18:35:29
小白一个,欢迎交流^^提交结果:答案正确运行时间:27ms占用内存:10564KB使用语言:Java用例通过率:100.00% import java.util.Scanner; public class Main{ public static void main(String[] arg 展开全文
头像 TheLightOfStars
发表于 2020-03-02 04:18:14
#include <iostream> #include <string> using namespace std; int main() { string str; while (getline(cin, str)) { for ( 展开全文
头像 wazzup
发表于 2022-04-26 00:14:06
当字符串的 indexOf 和 lastIndexOf 指向一个下标时,说明这个字母就只有这一个,直接输出 function outputFirstLetter(str){ const len = str.length for(let i = 0; i< len; i++){ if( 展开全文
头像 牛客484960258号
发表于 2021-11-24 00:09:47
while True: try: a = input() count = -1 for i in range(len(a)): if a.count(a[i]) == 1: count = 展开全文
头像 YONGYG
发表于 2022-05-22 22:36:46
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext( 展开全文
头像 派仔
发表于 2020-08-08 12:15:11
import java.util.*; public class Main { private int count(String str) { Map<Character, Integer> map = new HashMap<>(); 展开全文
头像 虹色萤火虫
发表于 2020-08-29 11:53:16
纯C 哈希表 #include <stdlib.h> #include <stdio.h> int main() { char str[500]; while(scanf("%s", str) != EOF) { int len=st 展开全文
头像 牛客857079027号
发表于 2021-12-16 09:03:16
while True: try: #只有存在不存在出现次数为1的字符这两种情况 a = input() d = {} res = [] for i in a: d[i] = a.count(i) 展开全文
头像 摸鱼学大师
发表于 2021-10-27 14:07:14
题目的主要信息: 找出字符串中第一个只出现一次的字符 输入的字符串长度1<=n<=10001<=n<=10001<=n<=1000 方法一:哈希表统计频率 具体做法: 我们可以建立一个无序哈希表,遍历字符串的同时,统计每个字符出现的频率,然后再从头遍历一次字符 展开全文