Commit Graph

151 Commits

Author SHA1 Message Date
whai
3c1d53ac10 106 构造树没做出来 2024-01-25 22:33:53 +08:00
whai
ca386eaae0 Tree 2024-01-24 22:10:12 +08:00
whai
24c2458f4f xc 2024-01-23 22:09:57 +08:00
whai
0d147db2aa 递归解决
- 完全二叉树:子树就是一个个满二叉树
- 平衡二叉树:递归求高度,用-1判断是否平衡
2024-01-22 20:56:44 +08:00
whai
f469f18748 复习+
一些二叉树
2024-01-21 22:05:25 +08:00
whai
3247b3f654 各种层次遍历衍生 2024-01-19 22:16:35 +08:00
whai
99db282c5d 各种层次遍历衍生 2024-01-19 14:18:57 +08:00
whai
c6ec4950ea 各种层次遍历衍生 2024-01-18 10:04:56 +08:00
whai
a3f6650e10 统一的迭代法
层次遍历
2024-01-16 21:09:45 +08:00
whai
7268302aec 中序
后序遍历
- 迭代法
2024-01-16 19:31:42 +08:00
whai
5c7137c125 先序遍历 2024-01-14 22:08:17 +08:00
whai
daeea3e734 先序遍历 2024-01-14 18:34:07 +08:00
whai
3df5579ab3 2024-1月 13 14日复刷 2024-01-14 14:21:17 +08:00
whai
0a10a5dcce - 347 堆 2024-01-10 22:11:15 +08:00
whai
53958087af - 239 队列的应用,没做出来 2024-01-09 17:49:57 +08:00
whai
5bc369a02d 栈的应用 2024-01-08 20:54:53 +08:00
whai
742d0471b2 -- 2024-01-07 21:58:15 +08:00
whai
bd0902dfc4 -- 2024-01-06 15:40:09 +08:00
whai
929adbf6bb -- 2024-01-05 22:41:13 +08:00
whai
8765a0f989 28 2024-01-05 17:55:39 +08:00
whai
418bbabea8 ## 字符串
常见解决方法

- **逆转**
- **双指针**
  - 首尾双指针:删除空格,要的才给StringBuilder
  - 双头双指针:移动元素
-

| 类型                 | 题目                                                         | 解决                           | 做题时间       |
| -------------------- | ------------------------------------------------------------ | ------------------------------ | -------------- |
| 多次逆转             | [右旋字符串](https://www.programmercarl.com/kama55.右旋字符串.html#思路) | 三次逆转                       | 2024-1-5 x     |
| 删除空格、逆转字符串 | [151. 反转字符串中的单词 - 力扣(LeetCode)](https://leetcode.cn/problems/reverse-words-in-a-string/) | 双指针删除空格,<br />字符逆战 | **2024-1-5 x** |
|                      |                                                              |                                |                |
2024-01-05 14:26:02 +08:00
whai
92d8e06065 字符串系 2024-01-04 21:23:42 +08:00
whai
93cbd6955c 三指针解决hashmap问题
- 注意重复指针跳过的方法
2024-01-03 22:13:32 +08:00
whai
bdbfa1854c 1
454
2024-01-03 21:01:34 +08:00
whai
8490fdfcf7 1
454
2024-01-02 22:04:25 +08:00
whai
c7ed23b029 LeetCode202
- 快乐数
- 使用Set,循环出现就不是快乐数

LeetCode349
LeetCode350
- 数组交集
- 使用数组映射
2024-01-02 17:42:26 +08:00
whai
48a3b2f043 - 287 使用快慢指针,(如何将数组映射成为一个链表)
|  1   |   2  |  4   |  2   |  3   |      |
| ---- | ---- | ---- | ---- | ---- | ---- |
|  0   |   1  |  2   |  3   |  4   |      |
graph LR
A[0] --> 1
1 --> 2
2 --> 4
4 --> 3
3 --> 2

- 242. 有效的字母异位词
2024-01-01 20:04:29 +08:00
whai
8772be1c10 [142. 环形链表 II](https://leetcode.cn/problems/linked-list-cycle-ii/)
## 1. 为什么快慢指针一定会相遇?

- `V_fast = 2`、`V_slow = 1` 相对速度为1,就一定会相遇

## 2. 为什么慢指针一圈就能一定能被追上?

两个角度:

1. `|fast- slow| < 1 圈` 所以slow在环内走不会超过一周
2. 慢指针走一圈,快指针走两圈,早就遇上了。
2024-01-01 15:35:22 +08:00
whai
db1b18ae63 链表
修改多使用这个栈会更快

LinkedList比Stack快的原因如下:

- 基于数组实现:Stack基于数组实现,随机访问(查找)效率更高,增删改效率较低。

  *     基于链表实现:LinkedList基于链表实现,增删改效率更高,随机访问(查找)效率较低。

**对于频繁的插入、删除操作,利用LinkedList实现栈自然比Stack快很多。**

0207
两个链表交替双指针
原理:双指针交替完长度是一样的,最后会同步
2023-12-31 22:05:09 +08:00
whai
efb982a11b 修改分类 2023-12-31 21:01:41 +08:00
whai
d9687332dc 修改分类 2023-12-31 19:39:18 +08:00
whai
acc3ac725c LeetCode24
- 链表两两对换
2023-12-29 20:18:12 +08:00
whai
f6d0c1582a LeetCode206
- 移动指针的方式不一定是.next
- 递归 只考虑当前这个部分,<b>把其他的部分扔给下一次递归</b>
2023-12-28 20:35:34 +08:00
whai
c998f0351e LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 22:08:15 +08:00
whai
8ad2f18126 LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 19:44:46 +08:00
whai
9385b628ad LeetCode203 707链表
- 双向链表的使用
- 增加虚拟头节点方便操作
2023-12-27 11:06:00 +08:00
whai
c707fd4ca2 LeetCode54 2023-12-24 22:03:19 +08:00
whai
177d5a4849 LeetCode59 2023-12-24 12:37:56 +08:00
whai
5926432b0a LeetCode209
双指针滑动窗口
while不断去除sum中的数,直到不满足>target的条件
2023-12-10 21:09:11 +08:00
whai
961aa4cea9 LeetCode997
双指针!

- 找到0的左右,分别从左右插入到新数组中
- 从左到右比较最大的数,从大到小插入新的数组中
2023-12-08 21:22:50 +08:00
whai
529a6193d9 LeetCode26 2023-12-07 23:34:42 +08:00
whai
57aa0a6aa9 LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
right-left 就是从0开始到n, 右移动一位就是除以2,获得到这个区间的一半,加上起始的left 就是(right + left)/2
2023-12-06 21:46:19 +08:00
whai
66f8bc1019 LeetCode35二分查找
int mid = ((right - left) >> 1) + left; /2 用这个方法
2023-12-06 21:41:12 +08:00
whai
d19cd4f072 367 二分查找深入理解
关注查找的区间问题
2023-12-06 08:18:12 +08:00
whai
01864dd56d 367 二分查找深入理解
关注查找的区间问题
2023-12-05 21:34:29 +08:00
whai
c2dc47ed53 69 2023-12-04 14:59:07 +08:00
whai
5c6ccf0171 704 2023-12-03 11:48:29 +08:00
whai
f04d15a4f8 704
相关题目推荐
35.搜索插入位置(opens new window)
34.在排序数组中查找元素的第一个和最后一个位置(opens new window)
69.x 的平方根(opens new window)
367.有效的完全平方数(opens new window)
#其他语言版本
2023-12-03 11:48:04 +08:00
whai
07abe90335 增加双头指针移动
相关题目推荐
26.删除排序数组中的重复项(opens new window)
283.移动零(opens new window)
844.比较含退格的字符串(opens new window)
977.有序数组的平方(opens new window)
#其他语言版本
2023-12-03 11:47:22 +08:00
whai
60cff832db 增加二分查找704 2023-12-02 20:56:26 +08:00
whai
bc35fd83f4 初始化 2023-12-01 21:20:53 +08:00