https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/

题目:

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.

思路:

需要两个指针,a用来纪录新链表,b用来遍历老链表,因为只有删除操作,需要一个flag标记ab段要不要删除。此外要注意头节点的处理。

AC代码:

 /**
* 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==NULL)
return NULL;
ListNode* newhead=new ListNode(); // to handle head
newhead->next=head;
ListNode* a=newhead,*b=newhead->next;
int now=head->val;
bool occur_flag=false;
while(b->next!=NULL){
if(b->next->val==now){
occur_flag=true;
}
else{
if(occur_flag==true){
a->next=b->next; //delete duplicate numbers
b=a; //update pointers
}
else{
a=b;
}
occur_flag=false;
now=b->next->val;
}
b=b->next;
}
if(occur_flag==true){
a->next=b->next; //delete duplicate numbers
b=a; //update pointers
}
else{
a=b;
}
return newhead->next;
}
};

最新文章

  1. 分组统计并计算每组数量sql
  2. HTML5&CSS3练习笔记(一)
  3. dev gridcontrol纵向合并单元格设置
  4. nginx reload
  5. MySQL Profile
  6. GIS:揭开你神秘的面纱
  7. Rouh set 入门知识1(基础定义篇)
  8. HC-05蓝牙模块基本使用
  9. FPGA编程基础(一)--參数传递与寄存器使用
  10. 关于在jsp中的路径问题
  11. 关于 Java 面试,你应该准备这些知识点
  12. /usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22) or chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
  13. 20165205 《网络对抗技术》 Exp0 Kali安装
  14. SpringMVC学习(二)———— 参数绑定
  15. centos7下升级SSH
  16. Android Studio 打包签名教程
  17. opus代码解析
  18. git协同开发
  19. SqlAlchemy操作(三)
  20. Abp中SwaggerUI的多个接口文档配置说明

热门文章

  1. How to resolve mysql problem when you get code 2003(10061) and 1130
  2. Dumb Bones(uva 10529)
  3. 2017 UESTC Training for Data Structures-解题报告
  4. webRTC windows demo1(转)
  5. 标准C程序设计七---64
  6. ping探测在线主机
  7. HDU 4749: Parade Show
  8. (1)TensorFlow 概要
  9. IntelliJ IDEA删除所有断点
  10. PHP平均小数红包算法