每一次循环,都是剔除或者推进任意一步
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 // 循环;非空替换 if (head == null) { return null; } ListNode n = head; ListNode pre = head, node = head.next; while (node != null) { if (pre.val == node.val) { pre.next = node.next; node = pre.next; } else { // 推进 pre = pre.next; node = pre.next; } } return n; } }