题解 | #合并两个排序的链表#
删除链表中重复的结点
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