zoukankan      html  css  js  c++  java
  • leetcode -- 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.

     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     int val;
     5  *     ListNode next;
     6  *     ListNode(int x) {
     7  *         val = x;
     8  *         next = null;
     9  *     }
    10  * }
    11  */
    12 public class Solution {
    13     public ListNode deleteDuplicates(ListNode head) {
    14         // Start typing your Java solution below
    15         // DO NOT write main() function
    16         if(head == null){
    17             return head;
    18         }
    19         Set<Integer> s = new HashSet<Integer>();
    20         ListNode cur = head, pre = null;
    21         while(cur != null){
    22             if(s.contains(cur.val)){
    23                 pre.next = cur.next;
    24                 cur = cur.next;
    25             } else {
    26                 s.add(cur.val);
    27                 pre = cur;
    28                 cur = cur.next;
    29             }
    30         }
    31         return head;
    32     }
    33 }

     这里使用了额外的存储空间,可以使用双指针来实现,不需额外的存储空间

  • 相关阅读:
    淘宝网站
    CentOS 安装 gcc
    待整理
    待整理
    CentOS常用查看系统命令
    Oracle 分区字段数据更新
    MapReduce修改输出的文件名
    MapReduce分区的使用(Partition)
    使用JobControl控制MapReduce任务
    Centos安装ntfs
  • 原文地址:https://www.cnblogs.com/feiling/p/3256221.html
Copyright © 2011-2022 走看看