题解
解题思路,遍历整个数组:字符串总长度(a) - 将当前字符使用空("")来替换后长度(b) = 当前字符出现的次数(sum)。
上面使用字符替换:a - b = sum;
-
如果 sum == 1 表示只出现一次,打印并结束循环,后面即使出现一次的也不用去管了
-
如果整个数组都遍历完了,sum 都 >= 2 那么,打印 -1;
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String str = sc.next();
int len = str.length(); // 字符串总长度
char res = '0'; // 存放结果的字符
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
String s = String.valueOf(ch);
int newLen = str.replaceAll(s, "").length();
if ((len - newLen) == 1) {
res = ch;
break; // 存在只出现一次的字符,退出循环输出结果
}
}
// 打印结果
if ('0' == res) {
System.out.println(-1);
} else {
System.out.println(res);
}
}
}
}