using System; using System.Collections.Generic; /* public class ListNode { public int val; public ListNode next; public ListNode (int x) { val = x; } } */ class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ public ListNode deleteDuplicates (ListNode head) { // write code here if (head == null) return null; ListNode lnRtn, ln; lnRtn = ln = new ListNode(0); int nPreVal = ln.val; while (head != null) { bool bVal = head.val != nPreVal && head.next != null && head.next.val != head.val; bVal = bVal || (head.val != nPreVal && head.next == null); if (bVal) { nPreVal = head.val; ListNode tmp = head.next; ln.next = head; head.next = null; head = tmp; ln = ln.next; } else { nPreVal = head.val; head = head.next; } } return lnRtn.next; } }