083. Remove Duplicates from Sorted List
题目链接:https://leetcode.com/problems/rotate-list/description/
Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
- Input: 1->1->2
- Output: 1->2
Example 2:
- Input: 1->1->2->3->3
- Output: 1->2->3
思路:
- 有序的链表中删除有重复值的结点。
- 需要两个指针分别指向链表的第一个结点和第二个结点(如果存在),这两个指针分别为pre和cur; 判断这两个指针所指向结点的值是否相等。
- 若相等,则改变指针指向对多余元素进行删除;
- 若不等,则pre = cur ; cur = cur->next;对指针指向进行移动。
注意:应考虑到链表的尾节点为多余元素的情况如何处理!!!
编码如下:
- /**
- * Definition for singly-linked list.
- * struct ListNode {
- * int val;
- * ListNode *next;
- * ListNode(int x) : val(x), next(NULL) {}
- * };
- */
- class Solution {
- public:
- ListNode* deleteDuplicates(ListNode* head) {
- if (head == nullptr) return head;
- ListNode *cur = head;
- ListNode *pre = nullptr;
- while ( cur->next != nullptr)
- {
- pre = cur;
- cur = cur->next;
- while ( cur != nullptr && pre->val == cur->val)
- {
- pre->next = cur->next;
- cur = cur->next;
- }
- // 应考虑到链表的尾节点为多余元素的情况
- if (cur == nullptr)
- {
- return head;
- }
- }
- return head;
- }
- };
083. Remove Duplicates from Sorted List的更多相关文章
- [LeetCode]题解(python):083 - Remove Duplicates from Sorted List
题目来源 https://leetcode.com/problems/remove-duplicates-from-sorted-list/ Given a sorted linked list, d ...
- Java for LeetCode 083 Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- 083 Remove Duplicates from Sorted List 有序链表中删除重复的结点
给定一个排序链表,删除所有重复的元素使得每个元素只留下一个.案例:给定 1->1->2,返回 1->2给定 1->1->2->3->3,返回 1->2- ...
- [LeetCode] Remove Duplicates from Sorted List 移除有序链表中的重复项
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- [LeetCode] Remove Duplicates from Sorted List II 移除有序链表中的重复项之二
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- [LeetCode] Remove Duplicates from Sorted Array II 有序数组中去除重复项之二
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ...
- [LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项
Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...
- Leetcode-83 Remove Duplicates from Sorted List
#83. Remove Duplicates from Sorted List Given a sorted linked list, delete all duplicates such that ...
- Remove Duplicates from Sorted List II
Remove Duplicates from Sorted List II Given a sorted linked list, delete all nodes that have duplica ...
随机推荐
- [工具] fierce--子域收集
简介 fierce 是使用多种技术来扫描目标主机IP地址和主机名的一个DNS服务器枚举工具.运用递归的方式来工作.它的工作原理是先通过查询本地DNS服务器来查找目标DNS服务器,然后使用目标DNS服务 ...
- Hdu 1517 巴什博奕变形
易知2-9为先手胜 继续递推下去 10-18 后手胜 再推发现19-162先手胜 即发现有9(9) 18(2*9) 162(9*2*9)..... #include<bits/stdc++.h& ...
- Java笔试题及答案
1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 答案:java标识符不能以数字开头,包含英文字母,数字,下划线以及$ 2.有一段java 应用程序,它的主 ...
- Javac可以编译,Java显示找不到或无法加载主类
运行时候加入完整包名.
- JavaScript中foreach、map函数
语法:forEach和map都支持2个参数:一个是回调函数(item,index,input)和上下文: •forEach:用来遍历数组中的每一项:这个方法执行是没有返回值的,对原来数组也没有影响: ...
- vue 项目实战之小坑坑
1. Vue 多个元素动画 ,需要使用 transition-group 标签,并且需要赋值 唯一 key 值. 2. 用ajax 获取到数据赋值给data 后 ,再手动向data里添加的属性无效. ...
- Confluence 6.15 使用附件宏
希望添加附件宏到一个页面中: 从编辑工具栏中,选择 插入(Insert) > 其他宏(Other Macros) 找到并且选择需要的宏. 可用使用自动完成加快这个过程:输入 { 然后开始输入 ...
- go之基本数据类型
一.整形 Go语言里支持有符号和无符号两种整型.这里的符号就是正负号. 1.分类: 有符号的整型:int , int8 , int16 , int32 , int64 无符号的整型:uint,uint ...
- Cortex-M3 入门指南(三):时钟总线与复位时钟控制器
[reset clock control 复位和时钟控制器] 时钟信号对于处理器非常重要,比如我们熟悉的 CPU 就是由时钟信号驱动的,而主频就是内核的的时钟信号频率.Cortex-M3 有着复杂的 ...
- mysql5.7以上基本配置
MySQL表名区分大小写设置 关闭MySQL服务 在服务运行目录找到my.ini或者my.cnf文件 find / -name my.cnf 打开文件,找到[mysqld]在下面增加一行 lower_ ...