LeetCode(83)Remove Duplicates from Sorted List
2015-08-20 11:40
495 查看
题目
Given a sorted linked list, delete all duplicates such that each element appear only once.For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->2->3.
分析
删除链表中重复元素结点。该题目本质很简单,只需一次遍历。需要注意的是,要释放删除的结点空间。
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 || head->next == NULL) return head; ListNode *p = head, *q = p->next; while (p && q) { if (p->val == q->val) { ListNode *t = q; p->next = q->next; q = q->next; //释放要删除的结点空间 delete t; } else{ p = p->next; q = q->next; }//elif }//while return head; } };
GitHub测试程序源码
相关文章推荐
- HTTP协议 (六) 状态码详解
- 80 css ie8下ui-box-head出现阴影效果
- zabbix监控磁盘IO low-level-discory方式-iostat说明
- 办ZigBee实验SmartRF Flash Programmer软件界面无法打开
- RabbitMQ 简介
- jvm基础知识五----分代垃圾回收详细
- Linux网络编程--文件空间映射mmap函数
- 砾阳报表综合系统
- win10应用安装位置怎么修改?win10更改应用安装位置的方法图解
- linux创建目录
- 增量构造法 (白书P188)
- caffe filler
- 从尾到头打印链表
- 彻底解决Android 拍照 内存溢出 Out of Memory的问题
- C# TextBox 只能输入数字
- 嵌入式系统开发(二)——字母的大小写转换
- [转载] FreeMarker教程
- 二分查找java实现
- C++宏的作用与C#里宏的代替(二)
- HTML5 Boilerplate笔记(3)