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

删除链表中重复的结点

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;
    }
}
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务