首页 > 代码库 > [leetcode] Remove Duplicates from Sorted List

[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.

https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list/

 

思路:基本的链表操作,保存pre的指针,cur与pre相同就删除cur。

public class Solution {    public ListNode deleteDuplicates(ListNode head) {        if (head == null || head.next == null)            return head;        ListNode pre = head;        ListNode cur = head.next;        while (cur != null) {            if (cur.val == pre.val) {                pre.next = cur.next;                cur = pre.next;            } else {                pre = cur;                cur = cur.next;            }        }        return head;    }    public static void main(String[] args) {        ListNode head = new ListNode(1);        head.next = new ListNode(1);        head.next.next = new ListNode(2);        ListUtils.printList(head);        new Solution().deleteDuplicates(head);        ListUtils.printList(head);    }}
View Code