题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

ac代码:

 1 /*
2 public class ListNode {
3 int val;
4 ListNode next = null;
5
6 ListNode(int val) {
7 this.val = val;
8 }
9 }
10 */
11 import java.util.ArrayList;
12 import java.util.Arrays;
13 import java.util.HashMap;
14 import java.util.Map;
15 public class Solution {
16 public ListNode deleteDuplication(ListNode pHead)
17 {
18 ListNode p=pHead;
19 Map<Integer,Integer>map=new HashMap<Integer,Integer>();
20 ArrayList<ListNode>list=new ArrayList<ListNode>();
21 while(p!=null){
22 if(map.containsKey(p.val)){
23 map.put(p.val,map.get(p.val)+1);
24 }else{
25 map.put(p.val,1);
26
27 }
28 list.add(p);
29 p=p.next;
30 }
31 for(int i=0;i<list.size();i++){
32 p=list.get(i);
33 if(map.get(p.val)>1){
34 for(int j=0;j<map.get(p.val);j++){
35 list.remove(i);
36 }
37 i--;
38 }
39 }
40 for(int i=0;i<list.size()-1;i++){
41 p=list.get(i);
42 p.next=list.get(i+1);
43 }
44 if(list.size()!=0){
45 list.get(list.size()-1).next=null;
46 return list.get(0);
47 }else
48 return null;
49 }
50 }

剑指offer-删除链表中的重复结点的更多相关文章

  1. python实现剑指offer删除链表中重复的节点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  2. 剑指Offer——删除链表中重复的结点

    题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理 ...

  3. [剑指offer]删除链表中重复的结点(把重复的都删掉,1个不留)

    ①题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后为 ...

  4. leetcode 203. Remove Linked List Elements 、83. Remove Duplicates from Sorted List 、82. Remove Duplicates from Sorted List II(剑指offer57 删除链表中重复的结点)

    203题是在链表中删除一个固定的值,83题是在链表中删除重复的数值,但要保留一个:82也是删除重复的数值,但重复的都删除,不保留. 比如[1.2.2.3],83题要求的结果是[1.2.3],82题要求 ...

  5. 剑指offer-18-2. 删除链表中重复的结点

    剑指offer-18-2. 删除链表中重复的结点 链表 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3-> ...

  6. 《剑指offer》 链表中倒数第k个节点

    本题来自<剑指offer> 链表中倒数第k个节点 题目: 输入一个链表,输出该链表中倒数第k个结点. 思路: 倒数第k个节点,而且只能访问一遍链表,定义两个节点,两者之间相差k个距离,遍历 ...

  7. 剑指Offer:链表中倒数第k个结点【22】

    剑指Offer:链表中倒数第k个结点[22] 题目描述 输入一个链表,输出该链表中倒数第k个结点. 解题思考 我们定义两个指针L和R,R事先移动K-1个位置,然后两者同时往后移动直到遇到R的下个节点为 ...

  8. 剑指 Offer 22. 链表中倒数第k个节点

    剑指 Offer 22. 链表中倒数第k个节点 Offer 22 常规解法 常规解法其实很容易可以想到,只需要先求出链表的长度,然后再次遍历取指定长度的链接即可. package com.walega ...

  9. 力扣 - 剑指 Offer 22. 链表中倒数第k个节点

    题目 剑指 Offer 22. 链表中倒数第k个节点 思路1(栈) 既然要倒数第k个节点,那我们直接把所有节点放到栈(先进后出)里面,然后pop弹出k个元素就可以了 代码 class Solution ...

  10. 【剑指Offer】链表中倒数第k个节点 解题报告(Python)

    [剑指Offer]链表中倒数第k个节点 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

随机推荐

  1. js实现点击按钮或div显示与隐藏div

    var box = document.getElementById("box"); var btn = document.getElementById("btn" ...

  2. laravel常用集合的使用

    创建集合: //数组1 $connection = collect([ ['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'], [ ...

  3. python setup.py install 安装、删除。

    # python install 安装.卸载 python setup.py install --record files.txt cat files.txt | xargs rm -rf

  4. mysql命令行如何执行sql脚本

    本文介绍在windows操作系统和Linux操作系统中,如何在命令界面模式下执行对应的sql脚本到mysql数据库 Windows操作系统下 mysql -u root -p db1 < E:\ ...

  5. Webservice EASLogin登录接口说明

    https://club.kingdee.com/forum.php?mod=viewthread&tid=1332944

  6. Hook新特性(一)

    基础Hook 1.useState const [state, setState] = useState(initialState); //返回一个state变量,指为initialState,set ...

  7. QPushButton CSS样式

    QPushButton:!hover { color:white; font: 20pt "楷体"; border-radius:10px; border:1px solid rg ...

  8. MySQL 常用命令(2)------数据库操作

    四.数据库操作 1.创建数据库 注意:创建数据库前要先连接mysql数据库 语法:create database <数据库名> 例:创建数据库并分配用户 1.create database ...

  9. react框架-this指向问题

    主要使用红框中的内容   import React, { Component } from 'react' export default class app extends Component {   ...

  10. python 处理CAD文件

    注意:如下的两个脚本都是我自己亲自试过的,可以运行得到结果!可以直接运行!可以直接运行! 网上的中文api能找到的不够全,工作中有用到部分功能,自己从中文英文资料里面找到一些,这里做一些总结. 画图a ...