import java.util.*;

public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Map<Character, Integer> countMap = new LinkedHashMap<>();
        String inputStr = scanner.nextLine();
        char[] charArr = inputStr.toCharArray();
        for (char c : charArr) {
            Integer count = countMap.get(c);
            if (count == null) {
                count = 0;
            }
            count++;
            countMap.put(c, count);
        }
        List<Integer> integerList = new ArrayList<>(countMap.values());
        int min = integerList.get(0);
        for (int i = 1; i < integerList.size(); i++) {
            int num = integerList.get(i);
            if (num < min) {
                min = num;
            }
        }
        List<Character> resultChars = new ArrayList<>();
        Set<Map.Entry<Character, Integer>> entrySet = countMap.entrySet();
        for (Map.Entry<Character, Integer> entry : entrySet) {
            Character key = entry.getKey();
            Integer value = entry.getValue();
            if (min != value.intValue()) {
                resultChars.add(key);
            }
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (char c : charArr) {
            if (resultChars.contains(c)) {
                stringBuilder.append(c);
            }
        }
        System.out.println(stringBuilder);
    }
}
还有这题 

题目描述

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。