一、题目描述
1.1 题目
-
删除排序链表中的重复元素
-
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
-
示例 1:
输入: 1->1->2
输出: 1->2
- 示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
1.2 知识点
- 链表
1.3 题目链接
二、解题思路
2.1 自研思路
解题思路比较简单,如果下一个节点的值与当前节点值相等,则将下下个节点作为当前节点的下一个节点(删除下一个节点)。
三、实现代码
3.1 自研实现
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null) return head;
ListNode ptr = head;
while(ptr.next != null) {
if(ptr.val == ptr.next.val)
ptr.next = ptr.next.next;
else
ptr = ptr.next;
}
return head;
}
}