Java教程

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

本文主要是介绍83. 删除排序链表中的重复元素,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if (head == null) {
            return head;
        }

        ListNode cur = head.next, pre = head, next;

        while (cur != null) {

            /**
             * 当前元素与前一个元素相等
             */
            while (cur != null && pre.val == cur.val) {
                cur = cur.next;
            }

            pre.next = cur;
            pre = cur;
            cur = cur != null ? cur.next : null;
        }

        return head;
    }
}

class ListNode {
    int val;
    ListNode next;

    ListNode() {
    }

    ListNode(int val) {
        this.val = val;
    }

    ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}
这篇关于83. 删除排序链表中的重复元素的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!