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.
这道题考察链表的操作,不难
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode dummy=new ListNode(0); dummy.next=head; ListNode dp=dummy.next; ListNode previous=null; while(dp!=null){ if(previous!=null){ if(dp.val==previous.val){ previous.next=dp.next; } else{ previous=dp; } } else{ previous=dp; } dp=dp.next; } return dummy.next; } }
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { if(head == null){ return null; } ListNode pointer1=head; ListNode pointer2=head.next; while(pointer2 != null){ if(pointer1.val == pointer2.val){ pointer2 = pointer2.next; if(pointer2==null){ pointer1.next=null; } } else{ pointer1.next=pointer2; pointer1=pointer1.next; pointer2=pointer2.next; } } return head; } }
posted on 2016-05-04 23:51 IncredibleThings 阅读(122) 评论(0) 编辑 收藏 举报