题解 | #删除链表中重复的结点#

删除链表中重复的结点

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

字典计数,数组转链表的解法

class Solution:

    def deleteDuplication(self , pHead: ListNode) -> ListNode:
        # write code here
        if not pHead: return None
        """用字典记录链表每个元素出现次数"""
        dic={}
        curr=pHead
        while curr:
            dic[curr.val]=dic.get(curr.val,0)+1
            curr=curr.next
        """选出出现次数为1的元素"""
        ans=[]
        for k,v in dic.items():
            if v==1: ans.append(k)
        return self.li2linkli(ans)

    def li2linkli(self,li):
        if not li: return None
        self.head=ListNode(li[0])
        if len(li)==1: return ListNode(li[0])
        temp=self.head
        for item in li[1:]:
            item=ListNode(item)
            temp.next=item
            temp=temp.next
        return self.head
题解-数据结构与算法 文章被收录于专栏

小菜鸟的题解

全部评论

相关推荐

若怜君欢:驾驶证去掉吧,PPT啥的也去掉,本硕课程去掉,导师和研究方向去掉;加入本硕排名(好才写);技能栏加入你会的那些控制算法和滤波算法,这个比你会啥啥啥软件更有用;获奖写上去,奖学金啊,有没有专利啊之类的 电机和硬件这一块,属于传统制造业,制造业实习并不多。多投一些攒攒经验,有实习最好,没有也不需要焦虑(制造业实习其实除了转正,没多大用处) 最后,划重点,等秋招开始后,把你所有社交软件都发一份简历上去,并经常更新,找人内推你!
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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