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

删除链表中重复的结点

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

先用hash记录次数

function ListNode(x){
    this.val = x;
    this.next = null;
}
function deleteDuplication(pHead)
{
    // write code here
    let myMap=new Map()
    let p=pHead
    while(p){
        if(myMap.has(p.val)){
        myMap.set(p.val,myMap.get(p.val)+1)    
    }else{
        myMap.set(p.val,1)
    }
        p=p.next
    }
    let res=new ListNode(0)
    res.next=pHead
    let cur=res
    while(cur.next){
        if(myMap.get(cur.next.val)!==1){
           cur.next=cur.next.next
           }else{
            cur=cur.next
        }
    }
    return res.next
    
}
module.exports = {
    deleteDuplication : deleteDuplication
};
全部评论

相关推荐

xdu通信dddd:我小米都面完两个月了 八月底面完的,现在还是显示面试中,没有比我恐怖的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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