LeetCode 精选 TOP 面试题(Java 实现)—— 删除排序链表中的重复元素

一、题目描述

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;
    }
}
发布了277 篇原创文章 · 获赞 33 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40697071/article/details/104047921