学习目标:
目标:熟练运用Java所学知识
学习内容:
本文内容:使用java解决 找出字符串中第一个只出现一次的字符
题目描述
链接:https://www.nowcoder.com/questionTerminal/e896d0f82f1246a3aa7b232ce38029d4
来源:牛客网
找出字符串中第一个只出现一次的字符
输入描述:
输入几个非空字符串
输出描述:
输出第一个只出现一次的字符,如果不存在输出-1
示例1
输入
asdfasdfo
aabb
输出
o
-1
解题思路
创建一个新数组,新数组的下标就是原字符串的每一个字符对应的数字,
新数组的内容就是该下标对应字符在字符串中出现的次数
实现代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
int[] res=new int[128];//新数组
char[] c=str.toCharArray();
for(int i=0;i<c.length;i++){
//c[i]对应的字符出现一次就让在新数组中以c[i]为下标的位置元素加一
res[c[i]]++;
}
boolean b=true;//标志是否找到值出现一次的元素
for(int i=0;i<c.length;i++){
if(res[c[i]]==1){
b=false;//找到了
System.out.println(c[i]);//打印该元素
break;
}
}
if(b==true){
//没找到
System.out.println(-1);
}
}
}
}