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

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

题目描述

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

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

在这里插入图片描述

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

C++

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode() : val(0), next(nullptr) {} *     ListNode(int x) : val(x), next(nullptr) {} *     ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ /*已经升序排列 只删重复数,保留非重复的 如果是这种情况              1 --> 1 --> 1 --> 2 --> 3             head  next        1.则需要移动next直到出现与当前head.value不相等的情况(含null)        2.并且此时的head已经不能要了,因为已经head是重复的节点递归 */class Solution {
public: ListNode* deleteDuplicates(ListNode* head) {
bool flag=false; //考虑特殊情况 if(!head || !head->next) return head; //判是否是这种情况 //1->1->1->1->2>3..... //此时head=2; ListNode* next=head->next; if(head->val==next->val){
while(next && head->val==next->val){
next=next->next; } head=deleteDuplicates(next); }else{
head->next=deleteDuplicates(next); } return head; }};
你可能感兴趣的文章
struts2中action接收参数的3种方法
查看>>
java获取随机数
查看>>
url中传递中文参数时的转码与解码
查看>>
百度Ueditor设置允许上传的图片格式及大小
查看>>
java图形验证码生成工具类及web页面校验验证码
查看>>
微信菜单的配置
查看>>
移动端的emoji表情符号插入MySQL数据库失败
查看>>
mysql对指定列进行排名
查看>>
Eclipse安装FindBugs插件
查看>>
联想T440怎么把原装Win8或Win10换成Win7系统
查看>>
PowerDesigner将物理数据模型图生成图片
查看>>
PowerDesigner创建物理数据模型(PDM)
查看>>
PowerDesigner:导入SQL脚本
查看>>
PowerDesigner使用教程
查看>>
eclipse中使用Ctrl+Alt+↑或↓时屏幕旋转的问题
查看>>
freemarker 数字格式化(金额格式化)
查看>>
eclipse中Deployment Assembly选项设置说明
查看>>
maven项目报:Project configuration is not up-to-date with pom.xml. Run Maven->Update Project
查看>>
pom.xml中maven-compiler-plugin插件配置的使用
查看>>
使用maven-war-plugin 对Maven项目进行动态打包
查看>>