力扣hot100—栈5题
写题目的时候,一般用双端队列来模拟栈。 双端队列: Deque<> queue = new LinkedList<>(); // 添加到队尾 deque.offerLast(1); // 推荐,返回true/false // 添加到队首 deque.offerFirst(2); // 推荐 // 移除队首 first = deque.p…
2026-1-31 22:46
|
|
2026-1-31 22:46
力扣hot100—二分查找6题
二分查找的通用板子,需要注意理解: ep:1,2,2,2,3,5 //查大于等于target的第一个位置, target=2,目标位置是1 int l = 0, r = n - 1; while (l < r) { int mid = l + r >> 1; // 找最早的那个值,nums[mid] >= x时,即使等于目标值,也要继续向左找…
2026-1-31 22:25
|
|
2026-1-31 22:29
力扣hot100—回溯8题
全排列、子集、电话号码的字母组合、单词搜索、分割回文串、N皇后,大部分都是基于DFS递归搜索的思想
2025-10-19 20:24
|
|
2025-10-20 17:15
力扣hot100—图论4题
岛屿数量、腐烂的橘子、课程表、Trie树,图论一般用DFS和BFS
2025-10-17 15:09
|
|
2025-10-18 16:53
力扣hot100—二叉树15题
二叉树的层序遍历、前中后序遍历、反转、求深度等操作。一般都要考虑递归方法。
2025-10-12 15:26
|
|
2025-10-17 14:35
力扣hot100—LinkedHashMap实现LRU缓存
可以用LinkedHashMap的数据结构实现;要自己手写的话,就需要维护一个哈希+双向链表的数据结构,使用双链表来维护缓存项的访问顺序。最近访问的项位于链表的头部,而最久未访问的项位于链表的尾部。 Map<Integer,MyNodes>,底层就是数组+双向链表。put操作,找出来修改值,放到最前面,找不到就新增,节点放最前面get操作就把…
2025-10-10 19:37
|
|
2025-10-10 19:38
力扣hot100—链表14题
相交链表、反转链表、回文链表、环形链表、合并链表、删除链表某个节点、排序链表、LRU等。
总结的解题核心方式一般都是设置一个哑前置节点、双指针、快慢指针。
2025-10-09 15:50
|
|
2025-10-11 19:13