剑指offer07 JZ76 删除链表中重复的结点

删除链表中重复的结点

https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&tqId=23450&ru=%2Fpractice%2F886370fe658f41b498d40fb34ae76ff9&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D13%26type%3D13

/*
 public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}
*/
import java.util.*;
public class Solution {
    public ListNode deleteDuplication(ListNode pHead) {
        Map<Integer,Integer> map=new HashMap<>();
        ListNode cur=pHead; 
        //统计每个链表元素值的次数
        while(cur!=null){
            if(map.containsKey(cur.val)){
                map.put(cur.val,(int)map.get(cur.val)+1);
            }
            else{
                map.put(cur.val,1);
            }
            cur=cur.next;
        }
         ListNode res = new ListNode(0);
        //在链表前加一个表头
        res.next=pHead;//连接上
        cur=res;
        //再次遍历 将次数不等于1的给跳过
        while(cur.next!=null){
            if(map.get(cur.next.val)!=1){
                //删除  修改指向
                cur.next=cur.next.next;
            }else{
                
                //向下走
                cur=cur.next;
            }
          
        }
          return res.next;
    }
}
全部评论

相关推荐

05-16 21:54
已编辑
门头沟学院 前端工程师
蓝曦111:我也是25届,这是第二次被裁了,毕业没到一年就失业两次,两次都是公司问题。第一家才转正一个月,跟我说公司拿不到项目结款没办法,赔了一个月;第二个公司连工资都发不出来了,赔偿更别想了,我算是认命了,这条路也不知道能走多远走多久,不过生活还是要继续的,走一步看一步吧
当你面对裁员会如何?
点赞 评论 收藏
分享
AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧! 对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
你都用vibe codi...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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