原题链接在这里:https://leetcode.com/problems/remove-duplicates-from-sorted-list/
思路很简单,维护双指针,pre 和 cur的值相等就移动cur,不等就移动pre.
AC Java:
/**
* 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 || head.next == null){
return head;
}
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode iter = dummy.next;
while(iter.next != null){
if(iter.val == iter.next.val){
iter.next = iter.next.next;
}else{
iter = iter.next;
}
}
return dummy.next;
}
}
进阶题目是Remove Duplicates from Sorted List II.
可以关注一下Remove Duplicates from Sorted Array这道题目。