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

解析:思想是用集合list存储所有没有重复的元素,然后构造单链表返回就好了。

/*public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}
*/
import java.util.ArrayList;
import java.util.List;
public class Solution {public ListNode deleteDuplication(ListNode pHead){ListNode head=pHead;List<Integer> list = new ArrayList<>();//需要构造的单链表List<Integer> removed = new ArrayList<>();//记录移除过的值Object obj=null;while (head!=null){if(!list.contains(head.val)&&(!removed.contains(head.val))){list.add(head.val);}else {obj=head.val;list.remove(obj);//list移除的对象,需要转为Object对象再移除removed.add(head.val);}head=head.next;}if(list.size()==0){//有可能移除后就没有节点了,例如2->2->2,移除后list为空了return null;}pHead = new ListNode(list.get(0));for(int i=list.size()-1;i>=1;i--){//头插法创建单链表ListNode node = new ListNode(list.get(i));node.next=pHead.next;pHead.next=node;}return  pHead;}
}

《剑指offer》删除链表中重复的节点相关推荐

  1. python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...

    一. 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 二. 例子 输入链表:1->2->3->3->4->4-&g ...

  2. 面试题18: 删除链表节点:删除链表中重复的节点

    /******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...

  3. python删除链表中重复的节点_剑指offer:删除链表中重复的节点

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

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

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

  5. 剑指offer.删除链表中重复的节点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留. 样例1 输入:1->2->3->3->4->4->5输出:1->2-> ...

  6. 删除链表中重复的节点

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

  7. 删除链表重复节点 python_java删除链表中重复的节点(保留一个节点)

    两种方法实现: package cn.exercise.list; import java.util.HashMap; /** * 删除链表重复节点(重复节点只保留一个) */ public clas ...

  8. python删除链表中重复的节点_删除链表中所有值与Python相同的节点的程序

    假设我们有一个单链接列表和一个目标,则在删除所有值与目标相同的节点后,我们必须返回相同的链接. 因此,如果输入类似于[5,8,2,6,5,2,9,6,2,4],则输出将为[5.8.6.5.9.6.4, ...

  9. 剑指offer 66题 -- 删除链表中重复的节点

    /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ ...

最新文章

  1. 诺基亚发布首款高功率小基站SCORE以及Flexi Zone LWA支持能力
  2. python里混淆矩阵 左下角为漏报,右上角为误报
  3. 广东省计算机应用考试题,广东省计算机等级考试一级试题
  4. 北京市计算机专修学院,北京计算机专修学院:三大热门专业
  5. linux上部署javaWeb项目
  6. 08-01 Jmeter 核心原理与性能测试理论
  7. 计算机硬盘图标不见了,电脑硬盘图标不见了怎么办
  8. word 中如何去掉复制的文字的底纹?
  9. Linux Shell中的简单命令组合使用
  10. Python返回列表的中位数
  11. 用Python自动清理系统垃圾,再也不用360安全卫士了
  12. android模拟器玩手游,手游模拟器使用说明 手游在电脑上玩的方法介绍
  13. Debian参考手册读书摘要
  14. PHP对接美团配送接口遇到的问题
  15. SpringBoot 报错 Unrecognized field
  16. Java项目:16款java游戏(java+swing)
  17. 浙江大学python程序设计(陈春晖、翁恺、季江民)习题答案
  18. java判断当前时间是否在对应时间段内
  19. 幼师专业和计算机专业好的学校,成都计算机专业学校的幼师专业前景怎么样
  20. 一张图透过结构看世界--掌握结构化思维

热门文章

  1. es最新的集群选举策略
  2. 【解析】案例4-1.5 顺序存储的二叉树的最近公共祖先问题
  3. 【已解决】查看Python中已经安装的包
  4. 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)
  5. 快来mark! 结构体重载运算符大全(运算、比较、赋值、输入输出)
  6. Linux基础优化方法(四)———远程连接缓慢优化
  7. html让布局垂直居中,css垂直居中布局总结
  8. hcia是什么等级的证书_华为的HCNA,HCNP,HCIE认证证书都有什么用?
  9. 被替换的项目不是替换值长度的倍数_面试官,为啥HashMap的长度是2的n次方?
  10. task文件服务器无法输入,Win10系统无法启动task scheduler服务的解决方法