题解 | #删除链表中重复的结点#

删除链表中重复的结点

http://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef

public class Solution {
    public ListNode deleteDuplication(ListNode pHead) {
        if(pHead==null){return pHead;}
        ListNode ans=new ListNode(0);
        ans.next=pHead;
        ListNode res=ans;
        ListNode last=res.next;
        while(last!=null){
            if(last.next!=null&&last.val==last.next.val){
                while(last.next!=null&&last.val==last.next.val){
                    last=last.next;
                }
                //如leetcode题目83中,关键的一步,如果相同的算一次,那就取,并移动指针,res=res.next;
                //如果相同的都删除,那就取下一个,不移动指针
                res.next=last.next;
                last=last.next;
            }else{
                res=res.next;
                last=last.next;
            }
        }
return ans.next;
    }
}
全部评论

相关推荐

安静的垂耳兔在泡澡:ks已经第八次投递了,它起码挂了还让你再投,不错了
点赞 评论 收藏
分享
11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务