方法1:
/* * 解题思路: 通过LinkedHashSet去重 (直接打印就用HashSet了) */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] input = sc.nextLine().toCharArray(); int len = input.length; HashSet<Integer> set = new HashSet(); for (int i = len - 1; i >= 0; i--) { // char转int需要显示强转! if (set.contains((int)input[i])) { continue; } set.add((int)input[i]); System.out.print(input[i]); } } }
方法2:
/* * 解题思路: 通过数组下标去重 */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] input = sc.nextLine().toCharArray(); int len = input.length; int[] set = new int[10]; for (int i = len - 1; i >= 0; i--) { // char转int需要显示强转, 而且我老是忘记减'0' int ch = (int)input[i] - '0'; if (set[ch] == 1) { continue; } set[ch] = 1; System.out.print(ch); } } }