解题思路:从前往后依次删除重复的元素。需注意:当head.next的元素值不等于head.val时才可将指针指向下一个元素比较,否则对于多个相同的值会出错。
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solution { /** * * @param head ListNode类 * @return ListNode类 */ public ListNode deleteDuplicates (ListNode head) { // write code here ListNode H=head; ListNode p=new ListNode(0); ListNode q=new ListNode(0); while(head!=null&&head.next!=null){ if(head.val==head.next.val){ p=head; q=head.next; p.next=q.next; } else{ head=head.next; } } return H; } }