题解

解题思路,遍历整个数组:字符串总长度(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);
            }
        }
    }
}