【链表7】删除链表中重复的结点

来源:互联网 发布:公路标线怎么施工数据 编辑:程序博客网 时间:2024/06/18 08:15

题目描述

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

/* public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {    public ListNode deleteDuplication(ListNode pHead)    {if(pHead == null)            return pHead;        ListNode curNode = pHead;                ListNode indexNode=new ListNode(-1);indexNode.next=pHead;        ListNode preNode = indexNode;                while(curNode !=null && curNode.next!=null){            //有重复            if(curNode.val == curNode.next.val){                int val =curNode.val;                while(curNode != null && curNode.val == val){                    curNode = curNode.next;                }                preNode.next = curNode;            }            //不重复            else{                preNode = curNode;                curNode = curNode.next;            }        }                return indexNode.next;            }}



0 0
原创粉丝点击