题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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. shell语句记录

    sed篇: 1. 删除指定的字符,比如 'a'-----$ sed 's/a//' file 2. 移除每一行的第一个字符----$ sed 's/^.//' file 3. 移除每一行的最后一个字符 ...

  2. mysql redis 开启远程访问

    springboot 加载外部yml nohup java -jar warehouse-0.0.1-SNAPSHOT.jar --Dspring.config.location=/root/www/ ...

  3. vs输出重定向

    1.右键点击解决工程->项目属性 2.配置属性->生成事件->生成后事件 在命令行中输入:"$(TargetPath)  >$(outdir)\1.txt" ...

  4. Hyperledger fabric 2.2.0 环境搭建

    基础环境搭建 ### docker 安装 如果服务器上有旧版的docker,需要先执行卸载操作. $ sudo yum remove docker \ docker-common \ docker-s ...

  5. mybatis获取参数值的方式

     示例: 总结:  

  6. APP的文件数据直传腾讯云COS实践

    简介 本文主要介绍基于腾讯云对象存储COS,如何快速实现一个app的文件直传功能.您的服务器上只需要生成和管理访问密钥,无需关心细节,文件数据都存放在腾讯云 COS 上. 架构说明 对于app应用,把 ...

  7. laravel 软删除的使用

    1.模型层 引用类use Illuminate\Database\Eloquent\SoftDeletes;class类中引用软删除use SoftDeletes;然后执行正常的删除,列表已经不显示, ...

  8. Java基础之类型转换

    类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低 --------------------------------------------------------&g ...

  9. python如何实现对word内段落文本及表格的读取

    在以下方法中用到的三方库是:python-docx from docx import Document 获取指定段落的文本 def get_paragraph_text(path, n): " ...

  10. Angular前端调用asp.net core web api后端,报跨域问题

    在 ASP.NET Core 中启用跨域请求 (CORS) https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnet ...