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

相关推荐

02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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