386. 字典序排数 给定一个整数 n, 返回从 1 到 n 的字典顺序. 例如, 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] . 请尽可能的优化算法的时间复杂度和空间复杂度. 输入的数据 n 小于等于 5,000,000. 通过次数6,670提交次数9,748 class Solution { void reversalTree2(int root, int n, ArrayList<Integer> list) { list.add(root)
对List去重并保证添加顺序主要有三种方式: 方式一,利用HashSet不能添加重复数据的特性 由于HashSet不能保证添加顺序,所以只能作为判断条件: private static void removeDuplicate(List<String> list) { HashSet<String> set = new HashSet<String>(list.size()); List<String> result = new ArrayList<S
//第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤 public static Object[] oneClear(Object[] arr){ Set set = new HashSet(); for(int i=0;i<arr.length;i++){ set.add(arr[i]); } return set.toArray(); } //第二种方式:要想保持原数组的顺序就使用有顺序.不重复特点的链表的哈希集合 public static Object[]