文章目录
- 前言
- 一、 [leetcode 45. 跳跃游戏 II -java版本](https://blog.csdn.net/qq_41810415/article/details/126862702?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226021516782427432807%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226021516782427432807&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-126862702-null-null.blog_rank_default&utm_term=%E8%B7%B3%E8%B7%83&spm=1018.2226.3001.4450)
- 二、 [leetcode 101. 对称二叉树-java实现](https://blog.csdn.net/qq_41810415/article/details/127443333?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226025416800217290806%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226025416800217290806&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-127443333-null-null.blog_rank_default&utm_term=%20%E5%AF%B9%E7%A7%B0&spm=1018.2226.3001.4450)
- 三、[349. 两个数组的交集](https://blog.csdn.net/qq_41810415/article/details/127096250?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226038116800197059949%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226038116800197059949&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-127096250-null-null.blog_rank_default&utm_term=%20%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86&spm=1018.2226.3001.4450)
- 四、[leetcode 205. 同构字符串-java实现](https://blog.csdn.net/qq_41810415/article/details/130312672?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226043016800188520678%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226043016800188520678&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-130312672-null-null.blog_rank_default&utm_term=%E5%90%8C%E6%9E%84&spm=1018.2226.3001.4450)
- 五、[leetcode 周赛 2386. 找出数组的第 K 大和-java实现](https://blog.csdn.net/qq_41810415/article/details/130321131?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226057216800227459741%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226057216800227459741&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-130321131-null-null.blog_rank_default&utm_term=%20%E6%89%BE%E5%87%BA%E6%95%B0%E7%BB%84%E7%9A%84&spm=1018.2226.3001.4450)
- 六、[leetcode 102. 二叉树的层序遍历-java实现](https://blog.csdn.net/qq_41810415/article/details/127479039?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226061716800188546847%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226061716800188546847&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-127479039-null-null.blog_rank_default&utm_term=%20%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F&spm=1018.2226.3001.4450)
- 七、[leetcode 1669. 合并两个链表-java实现](https://so.csdn.net/so/search?q=%20%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA&t=blog&u=qq_41810415&urw=)
- 八、[剑指 Offer II 074. 合并区间](https://leetcode.cn/problems/SsGoHC/?envType=study-plan-v2&id=huawei-2023-spring-sprint)
- 九、[leetcode 54. 螺旋矩阵-java实现](https://blog.csdn.net/qq_41810415/article/details/127009495?spm=1001.2014.3001.5501)
- 十、[剑指 Offer II 056. 二叉搜索树中两个节点之和](https://leetcode.cn/problems/opLdQZ/?envType=study-plan-v2&id=huawei-2023-spring-sprint)
- 十一、[剑指offer 32. 调整数组顺序使奇数位于偶数前面-java版本](https://blog.csdn.net/qq_41810415/article/details/124762341?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226106816782425177056%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226106816782425177056&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124762341-null-null.blog_rank_default&utm_term=%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2&spm=1018.2226.3001.4450)
- 十二、[编辑距离](https://blog.csdn.net/qq_41810415/article/details/127166726?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226110816800217285613%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226110816800217285613&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-127166726-null-null.blog_rank_default&utm_term=%20%E7%BC%96%E8%BE%91&spm=1018.2226.3001.4450)
- 十三、[705. 设计哈希集合](https://blog.csdn.net/qq_41810415/article/details/130329988?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226114916800180628043%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226114916800180628043&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-4-130329988-null-null.blog_rank_default&utm_term=%20%E5%93%88%E5%B8%8C&spm=1018.2226.3001.4450)
- 十四、[leetcode 208. 实现 Trie (前缀树)——java题解](https://blog.csdn.net/qq_41810415/article/details/128518886?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226117116800197078179%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226117116800197078179&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-4-128518886-null-null.blog_rank_default&utm_term=%20%E5%89%8D%E7%BC%80&spm=1018.2226.3001.4450)
- 十五、[剑指 Offer II 024. 反转链表](https://blog.csdn.net/qq_41810415/article/details/126634163?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226121316800180626741%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226121316800180626741&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-3-126634163-null-null.blog_rank_default&utm_term=%20%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8&spm=1018.2226.3001.4450)
- 十六、[Leetcode 无重复字符的最长字串- java实现 第三题](https://blog.csdn.net/qq_41810415/article/details/124137725?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226125116800182712138%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226125116800182712138&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124137725-null-null.blog_rank_default&utm_term=%20%E6%97%A0%E9%87%8D%E5%A4%8D&spm=1018.2226.3001.4450)
- 十七、[146. LRU 缓存](https://blog.csdn.net/qq_41810415/article/details/128324954?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226128716800186541827%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226128716800186541827&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-128324954-null-null.blog_rank_default&utm_term=LRU&spm=1018.2226.3001.4450)
- 十八、[328. 奇偶链表](https://blog.csdn.net/qq_41810415/article/details/126634163?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226133116800213095419%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226133116800213095419&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-126634163-null-null.blog_rank_default&utm_term=%20%E5%A5%87%E5%81%B6&spm=1018.2226.3001.4450)
- 十九、[213. 打家劫舍 II](https://blog.csdn.net/qq_41810415/article/details/127779544)
- 二十、[912. 排序数组](https://blog.csdn.net/qq_41810415/article/details/124102611?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226143116782425124029%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226143116782425124029&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-6-124102611-null-null.blog_rank_default&utm_term=%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84&spm=1018.2226.3001.4450)
- 二十一、[20. 有效的括号](https://blog.csdn.net/qq_41810415/article/details/125772677?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168226147716800184126273%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168226147716800184126273&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-125772677-null-null.blog_rank_default&utm_term=%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%AC%E5%8F%B7&spm=1018.2226.3001.4450)
- 二十二、[198. 打家劫舍](https://blog.csdn.net/qq_41810415/article/details/127779544)
前言
仅记录本人准备Leetcode的心得 大家参考 大部分都是做过的题目
总共22道题
一、 leetcode 45. 跳跃游戏 II -java版本
二、 leetcode 101. 对称二叉树-java实现
三、349. 两个数组的交集
四、leetcode 205. 同构字符串-java实现
这题刚开始没看懂题意
五、leetcode 周赛 2386. 找出数组的第 K 大和-java实现
这题最难理解
六、leetcode 102. 二叉树的层序遍历-java实现
七、leetcode 1669. 合并两个链表-java实现
八、剑指 Offer II 074. 合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。
输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
这题做过类似的 以数字第一个排序 然后分两种情况,最后记得把最后一组算上
class Solution {
public int[][] merge(int[][] a) {
// Arrays.sort(intervals,(o1,o2)->(o1[0] == o2[0] ? o1[1]-o2[1]:o1[0]-o2[0]));
List<int[]> res = new ArrayList<>();
if(a.length ==0 ) return null;
Arrays.sort(a, (i1, i2) -> (i1[0] == i2[0] ? i2[1] - i1[1] : i1[0] - i2[0]));
int l = a[0][0] ;int r = a[0][1];//第一个区间的左右端点
//从第二个端点开始遍历
for(int i = 1 ; i < a.length ; i++){
if(a[i][0] > r ){
res.add(new int[]{l,r});
l = a[i][0];
r = a[i][1];
}else r = Math.max(r,a[i][1]);
}
//最后一个区间要保存
res.add(new int[]{l,r});
return res.toArray(new int[0][0]) ;
}
}
九、leetcode 54. 螺旋矩阵-java实现
十、剑指 Offer II 056. 二叉搜索树中两个节点之和
给定一个二叉搜索树的 根节点 root 和一个整数 k , 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 。假设二叉搜索树中节点的值均唯一。
输入: root = [8,6,10,5,7,9,11], k = 12
输出: true
解释: 节点 5 和节点 7 之和等于 12
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
Set<Integer> s = new HashSet<>();
public boolean findTarget(TreeNode root, int k) {
if(root == null) return false ;
if(s.contains(k - root.val)) return true;
s.add(root.val);
return findTarget(root.left,k)||findTarget(root.right,k);
}
}
十一、剑指offer 32. 调整数组顺序使奇数位于偶数前面-java版本
十二、编辑距离
十三、705. 设计哈希集合
十四、leetcode 208. 实现 Trie (前缀树)——java题解
、
十五、剑指 Offer II 024. 反转链表
十六、Leetcode 无重复字符的最长字串- java实现 第三题
十七、146. LRU 缓存
十八、328. 奇偶链表
十九、213. 打家劫舍 II
环形 做俩DP
二十、912. 排序数组
用的快排 不过归并排序也要掌握
二十一、20. 有效的括号
栈
二十二、198. 打家劫舍
动态规划