zoukankan      html  css  js  c++  java
  • 82. Remove Duplicates from Sorted List II

    Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

    Example 1:

    Input: 1->2->3->3->4->4->5
    Output: 1->2->5
    

    Example 2:

    Input: 1->1->1->2->3
    Output: 2->3
    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode deleteDuplicates(ListNode head) {
            if(head == null) return null;
            ListNode dummy = new ListNode(0);
            ListNode prev = dummy;
            prev.next = head;
            ListNode cur = head;
            while(cur!=null && cur.next != null){//缺一不可
                boolean dup = false;
                while(cur.next!=null &&cur.val == cur.next.val){//缺一不可
                    cur = cur.next;
                    dup = true;
                }
                if(dup){
                    prev.next = cur.next;
                }
                else{
                    prev = cur;
                }
                cur = cur.next;
            }
            return dummy.next;
        }
    }

  • 相关阅读:
    P1443 马的遍历
    P1747 好奇怪的游戏
    蜀绣
    Five hundred miles
    如果没有你
    Yellow
    流星

    深入理解计算机中的 csapp,h和csapp.c
    可迭代的集合类型使用foreach语句
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/11367147.html
Copyright © 2011-2022 走看看