Leetcode-Remove Duplicates from Sorted List II

来源:互联网 发布:怎么在淘宝上删除评价 编辑:程序博客网 时间:2024/04/27 23:24
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

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

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

AC代码:

public class Solution {    public ListNode deleteDuplicates(ListNode head) {        if( head == null || head.next == null )return head;ListNode dummyHead = new ListNode(-1);dummyHead.next = head;ListNode before = dummyHead;ListNode curr = head;ListNode next = curr.next;int duplicates = 0;while( next != null ){if( curr.val == next.val ){ListNode temp = next.next;curr.next = temp;next = temp;duplicates = 1;if( next != null )continue;}if( duplicates == 1 || next == null ){before.next = next;duplicates = 0;if( next != null ){    curr = next;    next = curr.next;}continue;}if( next != null ){before = before.next;curr = curr.next;next = next.next;}}return dummyHead.next;    }}


0 0
原创粉丝点击