Remove Duplicates from Sorted List II

来源:互联网 发布:python账号注册登录 编辑:程序博客网 时间:2024/05/21 00:34

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinct 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.

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { *         val = x; *         next = null; *     } * } */public class Solution {    public ListNode deleteDuplicates(ListNode head) {// Start typing your Java solution below// DO NOT write main() functionif (head == null)return head;ListNode res = new ListNode(0);res.next = head;ListNode pre = res;ListNode node = head;ListNode next = node.next;while (next != null) {if (node.val == next.val) {while (next != null && node.val == next.val) {next = next.next;}pre.next = next;node = next;if(next != null)next = next.next;} else {pre = pre.next;node = node.next;next = next.next;}}return res.next;}}


原创粉丝点击