在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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;