【力扣】82. 删除排序链表中的重复元素 II
发布日期:2021-06-29 19:46:44
浏览次数:3
分类:技术文章
本文共 1217 字,大约阅读时间需要 4 分钟。
题目:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。
返回同样按升序排列的结果链表。
示例 1:
输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5]示例 2:
输入:head = [1,1,1,2,3] 输出:[2,3]提示:
链表中节点数目在范围 [0, 300] 内 -100 <= Node.val <= 100 题目数据保证链表已经按升序排列答案:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() { } * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ /** * 设置一个哑节点指向头节点,从头遍历,遇到前后一样的节点记录他的值。 * 然后从前往后比较,如果与该值相等的节点都去掉。 */class Solution { public ListNode deleteDuplicates(ListNode head) { if(head == null || head.next == null) return head; ListNode node = new ListNode(0); node.next = head; head = node; while(head.next != null && head.next.next != null){ if(head.next.val == head.next.next.val){ int x = head.next.val; while(head.next != null && head.next.val == x){ head.next = head.next.next; } continue; }else{ head = head.next; } } return node.next; }}
转载地址:https://darkness.blog.csdn.net/article/details/115207852 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月21日 22时18分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
android groovy语法与数据结构
2019-04-30
android Gradle插件分类与使用
2019-04-30
剖析Framework面试-笔记(一)
2019-04-30
Recyclerview滑动对齐方式smoothScrollToPosition
2019-04-30
Java环境的搭建
2019-04-30
java语法基础
2019-04-30
对面向对象的理解和this static的理解
2019-04-30
自学练习题
2019-04-30
面向对象的三大特性,动态绑定,抽象,接口
2019-04-30
异常和数组
2019-04-30
容器和String、Date、Calendar
2019-04-30
输入和输出流
2019-04-30
java线程
2019-04-30
android开发环境的搭建
2019-04-30
android的项目结构和布局介绍
2019-04-30
xml布局
2019-04-30
ListView的用法和滚动条用法
2019-04-30
activity4种启动模式,生命周期的理解
2019-04-30
服务的用法和开启
2019-04-30
android内容提供者
2019-04-30