Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit d402229

Browse files
committedSep 16, 2024·
二刷237
1 parent 8fb90cd commit d402229

File tree

8 files changed

+54
-14
lines changed

8 files changed

+54
-14
lines changed
 

‎docs/0237-delete-node-in-a-linked-list.adoc

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,11 @@
33

44
{leetcode}/problems/delete-node-in-a-linked-list/[LeetCode - Delete Node in a Linked List^]
55

6-
这个题其实很简单!把节点的值覆盖当前节点的值即可。
7-
8-
没想到打脸如此之快!还有更简单的办法,两行代码搞定:①把下一个节点的值拷贝到当前节点;②把当前节点的下一节点指向下下一个节点即可。
9-
10-
image::images/0237-0.png[{image_attr}]
11-
12-
image::images/0237-1.png[{image_attr}]
13-
14-
image::images/0237-2.png[{image_attr}]
15-
166
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
177

188
Given linked list -- head = [4,5,1,9], which looks like following:
199

20-
image::https://assets.leetcode.com/uploads/2018/12/28/237_example.png[{image_attr}]
21-
22-
10+
image::images/0237-00.png[{image_attr}]
2311

2412
*Example 1:*
2513

@@ -50,11 +38,37 @@ image::https://assets.leetcode.com/uploads/2018/12/28/237_example.png[{image_att
5038
* Do not return anything from your function.
5139

5240

41+
== 思路分析
5342

43+
这个题其实很简单!把节点的值覆盖当前节点的值即可。
44+
45+
没想到打脸如此之快!还有更简单的办法,两行代码搞定:①把下一个节点的值拷贝到当前节点;②把当前节点的下一节点指向下下一个节点即可。
46+
47+
image::images/0237-01.png[{image_attr}]
5448

5549
[[src-0237]]
50+
[tabs]
51+
====
52+
一刷::
53+
+
54+
--
5655
[{java_src_attr}]
5756
----
5857
include::{sourcedir}/_0237_DeleteNodeInALinkedList.java[tag=answer]
5958
----
59+
--
60+
61+
二刷::
62+
+
63+
--
64+
[{java_src_attr}]
65+
----
66+
include::{sourcedir}/_0237_DeleteNodeInALinkedList_2.java[tag=answer]
67+
----
68+
--
69+
====
70+
71+
== 参考资料
72+
73+
. https://leetcode.cn/problems/delete-node-in-a-linked-list/solutions/2362069/237-shan-chu-lian-biao-zhong-de-jie-dian-zli2/?envType=study-plan-v2&envId=selected-coding-interview[237. 删除链表中的节点 - 清晰图解^]
6074

File renamed without changes.

‎docs/images/0237-01.png

89.8 KB
Loading

‎docs/images/0237-1.png

-3.41 KB
Binary file not shown.

‎docs/images/0237-2.png

-2.21 KB
Binary file not shown.

‎logbook/202406.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,11 @@
665665
|{doc_base_url}/0089-gray-code.adoc[题解]
666666
|❌位运算
667667

668+
|{counter:codes}
669+
|{leetcode_base_url}/delete-node-in-a-linked-list/[237. Delete Node in a Linked List^]
670+
|{doc_base_url}/0237-delete-node-in-a-linked-list.adoc[题解]
671+
|⭕️解法很巧妙,只需要拷贝一个值,修改一个指针即可。
672+
668673
|===
669674

670675
截止目前,本轮练习一共完成 {codes} 道题。

‎src/main/java/com/diguage/algo/leetcode/_0237_DeleteNodeInALinkedList.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,17 @@
4242
* @since 2020-01-13 20:28
4343
*/
4444
public class _0237_DeleteNodeInALinkedList {
45-
// tag::answer[]
45+
// tag::answer[]
4646

4747
/**
4848
* Runtime: 0 ms, faster than 100.00% of Java online submissions for Delete Node in a Linked List.
4949
*
5050
* Memory Usage: 36.2 MB, less than 100.00% of Java online submissions for Delete Node in a Linked List.
5151
*
5252
* Copy from: https://leetcode.com/problems/delete-node-in-a-linked-list/solution/[Delete Node in a Linked List solution - LeetCode]
53+
*
54+
* @author D瓜哥 · https://www.diguage.com
55+
* @since 2020-01-13 20:28
5356
*/
5457
public void deleteNode(ListNode node) {
5558
node.val = node.next.val;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.diguage.algo.leetcode;
2+
3+
import com.diguage.algo.util.ListNode;
4+
5+
public class _0237_DeleteNodeInALinkedList_2 {
6+
// tag::answer[]
7+
/**
8+
* @author D瓜哥 · https://www.diguage.com
9+
* @since 2024-09-16 20:54:33
10+
*/
11+
public void deleteNode(ListNode node) {
12+
// 把后面一个元素拷贝过来
13+
node.val = node.next.val;
14+
// 把当前元素的下节点指针指向下下节点
15+
node.next = node.next.next;
16+
}
17+
// end::answer[]
18+
}

0 commit comments

Comments
 (0)
Please sign in to comment.