欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 14:34:10
...

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

题目描述

找出字符串中第一个只出现一次的字符。输入一个非空字符串,输出第一个只出现一次的字符,如果不存在输出-1

示例1:
输入

asdfasdfo

输出

o

思路:

利用桶排序的思想

import java.util.Scanner;

public class Main {

    public static String solution(String str) {
        if(str == null || "".equals(str)) {
            return "-1";
        }
        int[] arr = new int[256]; // 256个bin
        int len = str.length();
        for(int i = 0; i < len; i++) {
            char c = str.charAt(i);
            arr[(int)c]++;
        }

        for(int i = 0; i < len; i++) {
            char c = str.charAt(i);
            if(arr[(int)c] == 1) {
                return String.valueOf(c);
            }
        }
        return "-1";
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String line = sc.nextLine();
            String result = solution(line);
            System.out.println(result);
        }
        sc.close();
    }

}

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