每一次循环,都是剔除或者推进任意一步
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;
}
}

京公网安备 11010502036488号