首页 > 学院 > 开发设计 > 正文

删除链表中重复的结点

2019-11-08 03:23:25
字体:
来源:转载
供稿:网友
题目描述

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

IDEA注意情况1->1->1->^

1->1->2->2->^

需要人为设置一个节点作为pHead的前一个节点

ListNode first=new ListNode(-1);

CODE

/* public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {    public ListNode deleteDuplication(ListNode pHead)    {        ListNode first=new ListNode(-1);        first.next=pHead;                ListNode p=pHead,PRe=first;        while(p!=null&&p.next!=null){            if(p.val==p.next.val){                int val=p.val;                while(p!=null&&p.val==val){                    p=p.next;                }                pre.next=p;            }else{                pre=p;                p=p.next;            }        }        return first.next;    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表