摘要: 根据回文的定义,有2种可能,(1)字符串中所有字符出现次数为偶数,(2)字符串中只有一个字符出现次数为奇数(在中间位置) 所以我们只需要统计整个字符串中是否存在1个以上出现次数为奇数的元素 时间O(n),空间O(s)(s为整个字符串的离散度) public boolean canPermutePal 阅读全文
posted @ 2021-04-19 09:48 jchen104 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 广度优先遍历,依次访问2颗树的每一个节点并经行比较 时间O(n),空间O(n) public boolean isSameTree(TreeNode p, TreeNode q) { Deque<TreeNode> queue1 = new LinkedList<TreeNode>(); Deque 阅读全文
posted @ 2021-04-16 17:44 jchen104 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 感受轮子的快乐,时间O(n),空间O(n) public boolean containsDuplicate(int[] nums) { Set<Integer> set = new HashSet<Integer>(); for(int num:nums){ if(!set.add(num)){ 阅读全文
posted @ 2021-04-16 17:24 jchen104 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 本文为学习笔记,留作自用,不会记载的特别详细,如有错误,欢迎指正 一、this与super this与super都指向对象,区别在于this指向当前对象,super指向父类对象 二、static与类、对象的初始化 static为静态标识,被static标记的成员变量、方法将会被在类被加载时初始化且只 阅读全文
posted @ 2021-04-16 16:31 jchen104 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 简单迭代即可 时间O(n),空间O(1) public int removeElement(int[] nums, int val) { int index=0; for(int num:nums){ // 遇到不相等元素则直接向数组内插入 if(num!=val){ nums[index++]=n 阅读全文
posted @ 2021-04-15 23:10 jchen104 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 排序,然后比较开始结束时间即可 时间O(nlogn)(主要消耗在排序上),空间O(1) public boolean canAttendMeetings(int[][] intervals) { Arrays.sort(intervals, new Comparator<int[]>() { pub 阅读全文
posted @ 2021-04-15 11:48 jchen104 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 这题和之前的268. 丢失的数字 、136. 只出现一次的数字 、387. 字符串中的第一个唯一字符 有类似又有不同的地方 由于本题中的数组元素存在相同元素,有的出现2次,有的出现1次,所以不能使用异或来直接得出结果。 于是我们想到使用哈希表来构建映射关系,参考387题。 但是题目提出了进一步的要求 阅读全文
posted @ 2021-04-15 11:37 jchen104 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 一、基本定义 Arrays类,全路径java.util.Arrays,主要功能为操作数组,Arrays类的所有方法均为静态方法,所以 调用方式全部为Arrays.方法名 二、常用方法 1. <T> List<T> asList(T... a) 可以将数组转化为相应的list集合,但是也只能转化为li 阅读全文
posted @ 2021-04-14 17:13 jchen104 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 老题目了,使用迭代可解(不建议用递归,会产生较多冗余计算) 时间O(n),空间O(1) public int fib(int n) { if (n<2) return n; int i=0,j=1,count=2; while(count<=n){ int temp = j; j=i+j; i=te 阅读全文
posted @ 2021-04-14 10:34 jchen104 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目要求判断一棵树是否包含另一棵树,广度优先遍历由于需要维护一个队列, 这个队列会依次把每一层的节点全部压入队列,在本题中本层的其他节点会造成干扰项, 所以我们使用深度优先 方法一:深度优先遍历暴力破解 class Solution { public boolean isSubtree(TreeNo 阅读全文
posted @ 2021-04-14 10:29 jchen104 阅读(36) 评论(0) 推荐(0) 编辑