From fca155be73c2bd60cbb81ad28cb77cfa360db582 Mon Sep 17 00:00:00 2001
From: CyC2018 <1029579233@qq.com>
Date: Wed, 20 Feb 2019 00:04:17 +0800
Subject: [PATCH] auto commit
---
docs/notes/Java 虚拟机.md | 3 +++
docs/notes/剑指 offer 题解.md | 15 +++++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/docs/notes/Java 虚拟机.md b/docs/notes/Java 虚拟机.md
index 48845861..023b3831 100644
--- a/docs/notes/Java 虚拟机.md
+++ b/docs/notes/Java 虚拟机.md
@@ -222,6 +222,7 @@ obj = null;
+
标记要回收的对象,然后清除。
不足:
@@ -231,8 +232,10 @@ obj = null;
### 2. 标记 - 整理
+
+
让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。
### 3. 复制
diff --git a/docs/notes/剑指 offer 题解.md b/docs/notes/剑指 offer 题解.md
index 204ffa38..b6e4fecf 100644
--- a/docs/notes/剑指 offer 题解.md
+++ b/docs/notes/剑指 offer 题解.md
@@ -967,6 +967,8 @@ private void printNumber(char[] number) {
+② 如果链表只有一个节点,那么直接
+
② 否则,就需要先遍历链表,找到节点的前一个节点,然后让前一个节点指向 null,时间复杂度为 O(N)。
@@ -983,10 +985,15 @@ public ListNode deleteNode(ListNode head, ListNode tobeDelete) {
tobeDelete.val = next.val;
tobeDelete.next = next.next;
} else {
- ListNode cur = head;
- while (cur.next != tobeDelete)
- cur = cur.next;
- cur.next = null;
+ if (head == tobeDelete)
+ // 只有一个节点
+ head = null;
+ else {
+ ListNode cur = head;
+ while (cur.next != tobeDelete)
+ cur = cur.next;
+ cur.next = null;
+ }
}
return head;
}