|
1 | 1 | # 链表 |
2 | 2 |
|
3 | | -## 1、从尾到头打印链表 |
| 3 | +## 1、从尾到头打印链表(8) |
4 | 4 |
|
5 | 5 | [从尾到头打印链表](https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
6 | 6 |
|
@@ -59,7 +59,7 @@ public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { |
59 | 59 |
|
60 | 60 |
|
61 | 61 |
|
62 | | -## *2、链表中环的入口结点 |
| 62 | +## *2、链表中环的入口结点(9) |
63 | 63 |
|
64 | 64 | [链表中环的入口结点](https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&tqId=11208&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
65 | 65 |
|
@@ -128,7 +128,7 @@ public ListNode removeElements(ListNode head, int val) { |
128 | 128 |
|
129 | 129 |
|
130 | 130 |
|
131 | | -## *4、删除链表中重复的结点 |
| 131 | +## *4、删除链表中重复的结点(10) |
132 | 132 |
|
133 | 133 | [删除链表中重复的结点](https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&tqId=11209&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
134 | 134 |
|
@@ -171,7 +171,7 @@ public ListNode deleteDuplication(ListNode pHead) { |
171 | 171 |
|
172 | 172 |
|
173 | 173 |
|
174 | | -## 5、链表中倒数第 k 个结点 |
| 174 | +## 5、链表中倒数第 k 个结点(29) |
175 | 175 |
|
176 | 176 | [链表中倒数第 k 个结点](https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
177 | 177 |
|
@@ -202,7 +202,19 @@ public ListNode FindKthToTail(ListNode head, int k) { |
202 | 202 |
|
203 | 203 |
|
204 | 204 |
|
205 | | -## 6、反转链表 |
| 205 | +## 6、删除链表的倒数第N个节点 |
| 206 | + |
| 207 | +[删除链表的倒数第N个节点](https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/) |
| 208 | + |
| 209 | +```java |
| 210 | + |
| 211 | +``` |
| 212 | + |
| 213 | + |
| 214 | + |
| 215 | + |
| 216 | + |
| 217 | +## 7、反转链表(30) |
206 | 218 |
|
207 | 219 | [反转链表](https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
208 | 220 |
|
@@ -250,7 +262,7 @@ public ListNode ReverseList(ListNode head) { |
250 | 262 |
|
251 | 263 |
|
252 | 264 |
|
253 | | -## 7、合并两个排序的链表 |
| 265 | +## 8、合并两个排序的链表(31) |
254 | 266 |
|
255 | 267 | [合并两个排序的链表](https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
256 | 268 |
|
@@ -331,7 +343,7 @@ public ListNode Merge(ListNode list1, ListNode list2) { |
331 | 343 |
|
332 | 344 |
|
333 | 345 |
|
334 | | -## 8、二叉搜索树与双向链表 |
| 346 | +## 9、二叉搜索树与双向链表(41) |
335 | 347 |
|
336 | 348 | [二叉搜索树与双向链表](https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
337 | 349 |
|
@@ -374,7 +386,7 @@ private void inOrder(TreeNode node){ |
374 | 386 |
|
375 | 387 |
|
376 | 388 |
|
377 | | -## 9、两个链表的第一个公共结点 |
| 389 | +## 10、两个链表的第一个公共结点(51) |
378 | 390 |
|
379 | 391 | [两个链表的第一个公共结点](https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
380 | 392 |
|
@@ -413,7 +425,7 @@ public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { |
413 | 425 |
|
414 | 426 |
|
415 | 427 |
|
416 | | -## 10、复杂链表的复制 |
| 428 | +## 11、复杂链表的复制 |
417 | 429 |
|
418 | 430 | [复杂链表的复制](https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba?tpId=13&tqId=11178&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking) |
419 | 431 |
|
@@ -478,7 +490,7 @@ public RandomListNode Clone(RandomListNode pHead) { |
478 | 490 |
|
479 | 491 |
|
480 | 492 |
|
481 | | -## 11、在 O(1) 时间删除链表节点 |
| 493 | +## 12、在 O(1) 时间删除链表节点 |
482 | 494 |
|
483 | 495 | ```java |
484 | 496 | //思路: |
|
0 commit comments