在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
这题目之前曾做过,但是脑海中真的一点印象都没有了。
这道题目的关键点就在于如何把3-3全部消灭掉,具体思路:
- 判断当前节点和下一个节点之间关系
不相等,则直接加入新的链表节点中;
相等,则一直找到不等的节点,重新开启上面的判断逻辑,其实就是这么简单。
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public ListNode deleteDuplication(ListNode pHead) { ListNode p = pHead; ListNode newHead = null; ListNode pnew = null;