LeetCode 083 Remove Duplicates from Sorted List

来源:互联网 发布:徐州网络 编辑:程序博客网 时间:2024/06/03 14:18
题目


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 此类问题考虑dummy节点。

2 需要有个pre 来记录之前的指针。

3 这类题目10分钟内可以完成。


代码


public class Solution {    public ListNode deleteDuplicates(ListNode head) {        if(head==null){            return null;        }        ListNode Dummy = new ListNode(Integer.MIN_VALUE);        Dummy.next = head;        ListNode pre = Dummy;        ListNode cur = head;        int val = cur.val;        while(cur.next!=null){            cur = cur.next;            if(val==cur.val){                continue;            }            else{                pre.next.next=cur;                pre=pre.next;                val = cur.val;            }        }        pre.next.next = null;        return Dummy.next;    }}




0 0
原创粉丝点击