剑指offer-删除链表中的重复结点
2024-09-08 11:16:35
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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 }
最新文章
- 30天轻松学习javaweb_tomcat的虚拟目录设置
- Codeforces Round #327 (Div. 1) D. Top Secret Task
- 在阿里云ECS(CentOS6.5)上安装jdk
- BZOJ3237: [Ahoi2013]连通图
- LEDAPS1.3.0版本移植到windows平台----HuSr大气校正模块
- JQ用法
- spring代码异常捕获到logback logging.config=logback-spring.xml文件中不能输出异常e.printStackTrace
- 如何 通过 userAgent 区别微信小程序
- spring ico
- sqlserver数据库系统性能监控步骤
- java实现简单扫雷游戏
- 把外置sd卡映射为内置sd卡地一个目录
- 【MySQL案例】ERROR 1786 (HY000)
- 开源人脸识别face_recognition
- BZOJ 2301: [HAOI2011]Problem b (莫比乌斯反演)
- GCC安装UBUNTU
- HDU 1016:Prime Ring Problem
- 【hackerrank】Week of Code 26
- [转载] Python itertools模块详解
- Linux下Apache、PHP、MySQL默认安装路径
热门文章
- 从零搭建hadoop集群之hadoop集群安装
- wpf treeview 选中节点加载数据并绑定
- AVL tree rotate
- k8s_使用k8s部署博客系统deployment(四)
- springboot返回前端对象null转为空字符串
- Demo of canvas, canvas optimization and svg
- HTML+CSS+JS制作一个黑灰色简约时钟
- SAP 删除销售订单行
- Uncaught ReferenceError: Vue is not defined(之二)
- TCP连接connect函数返回错误