题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
public class JZ56 {
public ListNode deleteDuplication(ListNode pHead) {
ListNode node = new ListNode(0);
node.next = pHead;
ListNode last = node.next;
ListNode index = node;
while (last != null) {
if (last.next != null && last.val == last.next.val) {
while (last.next != null && last.val == last.next.val) {
last = last.next;
}
last = last.next;
index.next = last;
} else {
last = last.next;
index = index.next;
}
}
return node.next;
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
小结:最开始做的时候,看错题目,看成了重复的留一个。学习真的需要细心细心再细心,任重而道远啊!菜鸡,还是得加油!