82. Remove Duplicates from Sorted List II (List)
2024-10-21 03:58:05
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5
, return 1->2->5
.
Given 1->1->1->2->3
, return 2->3
.
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
if(!head) return head; ListNode *previous = NULL;
ListNode *current = head;
bool repeat = false;
while(current)
{
while(current->next && current->val == current->next->val)
{
current = current->next;
repeat = true;
}
if(repeat && previous!= NULL)
{
previous->next = current->next;
}
else if(!repeat)
{
if(!previous) head = current;
previous = current;
} current = current->next;
repeat = false;
}
if(!previous) return previous;
return head;
}
};
最新文章
- spring注解源码分析--how does autowired works?
- ReactNative与NativeScript对比报告
- php 批量生成html、txt文件
- APIO2015
- 转 脸书pop动画的五个步骤
- opengl学习
- ORACLE AWR性能报告和ASH性能报告的解读
- SQL菜鸟学习札记(二)
- 用JS实现Ajax请求
- 使用Rotativa在ASP.NET Core MVC中创建PDF
- gcc make 与cmake
- css js 兼容问题
- springboot @Value获取值为空,解决办法
- Hibarnate控制台打印不出sql,并且报出异常:org.hibernate.exception.JDBCConnectionException: Cannot open connection
- 获取最后插入的id另外方法
- java poi 写入大量数据到excel中
- nyoj 数独
- spring cloud连载第二篇之Spring Cloud Config
- 关于windows10 CMD 的一些操作
- 面向对象的JavaScript-002