博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
删除链表中重复的结点
阅读量:3959 次
发布时间:2019-05-24

本文共 1001 字,大约阅读时间需要 3 分钟。

题目描述

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

题目解答:创建一个新的链表,循环遍历初始链表,找到重复值的区间,当不是重复值的时候就把这个节点存入新链表中

/* public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {
public ListNode deleteDuplication(ListNode pHead){
//创建新的链表存储 ListNode newHead=new ListNode(-1); ListNode newTail=newHead; //循环遍历链表 ListNode cur=pHead; while(cur!=null){
//当cur的值是重复元素时 if(cur.next!=null&&cur.val==cur.next.val){
//寻找重复区间 while(cur.next!=null&&cur.val==cur.next.val){
cur=cur.next; } cur=cur.next; }else{
//当cur的值不是重复元素时,将它存入新链表中,继续向后遍历 newTail.next=new ListNode(cur.val); newTail=newTail.next; cur=cur.next; } } return newHead.next; }}

转载地址:http://aflzi.baihongyu.com/

你可能感兴趣的文章
《Linux内核设计与实现》- Linux的进程
查看>>
《Linux内核设计与实现》- 进程的调度
查看>>
inet_ntoa()
查看>>
POSIX消息队列mq_open问题
查看>>
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
查看>>
用户态切换到内核态的3种方式
查看>>
笔试常见的智力题(附答案)
查看>>
内核库函数
查看>>
Linux 系统内核空间与用户空间通信的实现与分析
查看>>
linux内核空间和用户空间的区别及交互
查看>>
如何写好应用型学术论文
查看>>
如何查看进程的各种限制
查看>>
64位int类型用printf输出问题
查看>>
网络后台开发面试题目
查看>>
Linux 共享内存限制的查看与设置
查看>>
进程的状态转换
查看>>
如何查看进程的信息(线程数)
查看>>
read的用法
查看>>
查看系统信息(cpu,内存,硬盘,网卡)
查看>>
awk的混合编程
查看>>