LeetCode(83)——Remove Duplicates from Sorted List

题目:

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.


AC:

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if (null == head || null == head.next) {
            return head;
        }
        
        ListNode dummyNode = new ListNode(-1);
        ListNode singleNode = head;
        ListNode currentNode = head;
        dummyNode.next = head;
        
        while (null != currentNode && null != currentNode.next) {
            if (currentNode.val != currentNode.next.val) {
                    singleNode.next = currentNode.next;
                    singleNode = singleNode.next;
            }

            currentNode = currentNode.next;
        }
        

        if (singleNode != currentNode) {
            singleNode.next = null;
        }
        
        return dummyNode.next;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_39120845/article/details/79455394