题解 | #删除有序链表中重复的元素-II#

删除有序链表中重复的元素-II

http://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024

import . "nc_tools"
func deleteDuplicates( head *ListNode ) *ListNode {
    if head == nil {
        return nil
    }
    ret := &ListNode{Next: head}
    
    p1, p2 := ret, head.Next // 双指针
    for p1.Next != nil && p1.Next.Next != nil && p2 != nil {
        p2 = p1.Next.Next
        if p1.Next.Val == p2.Val {
            for p2 != nil && p1.Next.Val == p2.Val {
                p2 = p2.Next
            }
            p1.Next = p2
            continue
        }
        p1 = p1.Next
        p2 = p2.Next
    }

    return ret.Next
}
全部评论

相关推荐

10-20 11:11
辽宁大学 营销
点赞 评论 收藏
分享
11-17 11:15
门头沟学院 Java
金山办公终于发offer了,但薪资和平台都不如已有的offer打算拒了,A不了薪资,不满意直接拒了,留给需要的人嘿嘿嘿时间线:10.14线下一面 ,10.23线上二面,下午发测评,11月1日HR面,11月14日电话谈薪,11月17日直接发offer
star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
offer帮选
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务