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

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

文章目录

一、题目描述

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

在这里插入图片描述
在这里插入图片描述

二、解题思路

借用数据结构中在链表中删除元素的思想,在本题中给定的链表是排好序的,所以重复的元素在链表中肯定是连续的。声明一个移动指针cur用来遍历有序链边,当cur.val=cur.next.val,只需要将cur的next指针指向cur的next的next就完成了删除的目的。

三、代码演示

class Solution {
public ListNode deleteDuplicates(ListNode head) {
//特殊情况判断 if(head == null){
return head; } //指定cur指针指向头部head ListNode cur =head; while(cur!=null && cur.next!=null){
//当前指针指向的值如果与该值的下一个值相等,将当前值的next的next赋值给next if(cur.val==cur.next.val){
cur.next = cur.next.next; } else{
//如果当前指针的下一个值与当前值不相等,则指针向后移一位 cur = cur.next; } } return head; }}

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

你可能感兴趣的文章
循环语句
查看>>
DB2 临时表
查看>>
ITERATE、LEAVE、GOTO和RETURN
查看>>
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>
Java 数据类型
查看>>
UTF-16 编码简介
查看>>