华为OJ平台——首次不重复字符

时间:2023-12-24 18:19:19

题目描述:

输入一个字符串,输出字符串中第一个没有重复的字符,若没有满足条件的字符存在,则输出“.”

思路:

这题很简单,直接逐次比较就好了,但是没有考虑到更好效率的方法,以后想到的话再加上来

 import java.util.Scanner;

 /**
* 输入一个字符串,输出字符串中第一个没有重复的字符
* 若没有满足条件的字符存在,则输出“.”
*
*/
public class FirstAppearance { public static void main(String[] args) {
//输入,读取输入字符串
Scanner cin = new Scanner(System.in) ;
String str = cin.nextLine() ;
cin.close(); int len = str.length(); char temp ;
boolean flag ;
//双重查找比较即可判断是都有重复
for(int i = 0 ; i < len ; i++){
temp = str.charAt(i) ;
//flag标志位,表示是否是不重复的,true--不重复,直接输出,false---重复下一个
flag = true ;
for(int j = 0 ; j < len ; j++){
//如果重复,flag置false,跳出当前循环,进行字符串的下一个字符的判断
if(temp == str.charAt(j) && i != j){
flag = false ;
break ;
}
}
if(flag){
System.out.println(temp) ;
return ;
}
}
//若所有的比较结果都没有不重复的字符,则输出"."
System.out.println(".") ;
} }