zoukankan      html  css  js  c++  java
  • 剑指offer-删除链表中重复的节点

    import java.util.*;
    /*
     public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }
    */
    public class Solution {
        public ListNode deleteDuplication(ListNode pHead) {
            //思路:遍历链表,将节点值放入List中,并且每次放入时,判断这个值是否存在
            //如果已经存在list中,证明这个词存在了至少两次。标记位重复值。
    // 将这个存在的值放入set中
    ListNode res = new ListNode(0); res.next = new ListNode(0); //set只用来放重复的数值 Set<Integer> set = new HashSet<>(); //list用来存放所有的值,但同样的值只会出现一次 //例如给出的例子中,最终list是1,2,3,4,5 List<Integer> list = new ArrayList<>(); //先取出每个节点的val值 while( pHead != null && pHead.next!=null){ if(!list.contains(pHead.val)){ list.add(pHead.val); }else{ set.add(pHead.val); } pHead = pHead.next; } //第二阶段.只存放没有重复的值。这个真的是无解啊! //我已经有了一个list={1,2,3,4,5},只是想把它一个个的放入ListNode中,
    //形成 1>2>3>4>5。怎么就想不通怎么放
    for(int i = 0; i < list.size(); i++){ if(!set.contains(list.get(i))){ res.next.val = list.get(i); res = res.next ; } } return res.next; } }
    [ 版权声明 ]: 本文所有权归作者本人,文中参考的部分已经做了标记! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
  • 相关阅读:
    jmeter-plugins-manager安装
    JMeter安装
    charles
    url地址有哪些组成?
    服务器的响应状态码
    jQuery链式编程
    jQuery 实现单选反选以及三元运算
    jQuery选择器的基本和层级
    将jmeter返回的json数据转码
    DOM的事件
  • 原文地址:https://www.cnblogs.com/gslgb/p/14798973.html
Copyright © 2011-2022 走看看