题解 | #合并两个排序的链表#

删除链表中重复的结点

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

方法:
(审题:去掉重复值,并没有说去掉连续重复的值,比如{1,2,1,1,2,5,3}->{5,3},而不是{1,2,2,5,3}.)
(1)提取链表值到列表中,使用filter()函数过滤掉重复元素。
(2)使用列表构造链表。
class Solution:

def deleteDuplication(self, pHead):
    # write code here
    li=[]
    cur=pHead
    while cur!=None:
        li.append(cur.val)
        cur=cur.next
    res=filter(lambda x:li.count(x)==1, li)
    if len(res)==0:
        return
    new_head=ListNode(0)
    p=new_head
    for i in range(len(res)):
        p.next=ListNode(res[i])
        p=p.next
    return new_head.next
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务