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

删除链表中重复的结点

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

/*
public class ListNode
{
    public int val;
    public ListNode next;
    public ListNode (int x)
    {
        val = x;
    }
}*/
class Solution
{
    public ListNode deleteDuplication(ListNode pHead)
    {
        // write code here
        if (pHead == null) return pHead;
        ListNode iter = pHead;
        ListNode newHead = new ListNode(0);
        ListNode cur = newHead;
        while(iter!=null){
            if (iter.next==null || iter.val != iter.next.val){
                cur.next = iter;
                cur = cur.next;
            }else{
                while(iter.next!=null && iter.val == iter.next.val){
                    iter = iter.next;
                }
            }
            iter = iter.next;
        }
        cur.next = null;
        return newHead.next;
    }
}
全部评论

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务