题解 | #删除有序链表中重复的元素-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
}
全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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