Update 18.2 删除链表中重复的结点.md

补充题目描述与递归解题思路,调整解题思路小节标题,并重新绘制链表去重配图。
This commit is contained in:
CyC2018
2026-10-30 20:18:00 +08:00
parent 1cca7f2637
commit 08acb147eb
2 changed files with 8 additions and 1 deletions
+8 -1
View File
@@ -4,9 +4,16 @@
## 题目描述
在一个排序的链表中,重复出现的结点全部删除,一个都不保留。例如 1 -\> 2 -\> 3 -\> 3 -\> 4 -\> 4 -\> 5 处理后为 1 -\> 2 -\> 5。
<div align="center"> <img src="pics/offer18-2-delete-duplicates.png" width="610px"/> </div><br>
## 解题描述
## 解题思路
用递归处理,deleteDuplicates(head) 返回以 head 开头的链表去重后的头节点:
- head 与下一个节点的值相同:head 属于重复的一组,跳过与它值相同的所有节点,对后面第一个不同的节点递归,结果就是答案,head 本身不保留;
- head 与下一个节点的值不同:head 一定保留,对 head.next 递归,把结果接在 head 后面。
```java
public ListNode deleteDuplicates(ListNode head) {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 56 KiB