• 删除链表中所有重复元素


    public ListNode deleteDuplication(ListNode pHead){
      //LinkedHashMap可以按照输入的顺序进行输出
      LinkedHashMap<Integer,Integer> map = new LinkedHashMap<>();
      ListNode current = pHead;
      while(current != null){
        if(!map.containsKey(current.val)){
          map.put(current.val,1);
        }else{
          int times = map.get(current.val);
          times++;
          map.put(current.val,times);
        }
        current = current.next;
      }
    
      ListNode newHead = null;
      ListNode point = null;
      boolean isHead = true;
      set<Integer> set = map.keySet();
      Iterator<Integer> it = set.iterator();
    
      //根据map中的值,只用出现一次的值来构造新表
      while(it.hasNext()){
        int temp = it.next();
        if(map.get(temp) == 1){
          ListNode currentNode = new ListNode(temp);
          if(isHead){
            newHead = curentNode;
            point = currentNode;
            isHead = false;
            continue;
          }
          point.next = currentNode;
          point = currentNode;
        }
      }
      return newHead;
    }
  • 相关阅读:
    使用RF(robotframework)要安装哪些库
    MYSQL题目练习专用
    MySQL字段拼接
    WPF样式
    WPF数据模板
    WPF控件模板
    WPF布局
    面向对象程序设计原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602155.html
Copyright © 2020-2023  润新知