83. 删除排序链表中的重复元素(高频题)


83. 删除排序链表中的重复元素

题目

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
在这里插入图片描述

解题思路

26.删除排序数组中的重复项一模一样。
在这里插入图片描述

代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head==null){
            return null;
        }

        ListNode slow=head;
        ListNode fast=head.next;

        while(fast!=null){
            if(fast.val!=slow.val){
                //nums[slow]=nums[fast]
                slow.next=fast;
                //slow++
                slow=slow.next;
            }
            //fast++
            fast=fast.next;
        }
        //断开与后面重复元素的连接
        slow.next=null;
        return head;

    }
}

文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录