83. Remove Duplicates from Sorted List
2015-08-04 21:36
197 查看
与数组类似,利用的是双指针思想。代码如下:
/** * 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) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. if(head == NULL || head->next == NULL)return head; ListNode *index = head, *p = head->next, *pre = head; while(p != NULL) { if(p->val != pre->val) { index = index->next; index->val = p->val; } pre = p; p = p->next; } p = index->next; index->next = NULL; while(p != NULL) {//销毁多余的节点 ListNode *tmp = p; p = p->next; delete tmp; } return head; } };
相关文章推荐
- hdu 1072 Nightmare
- Fibonacci again and again(hdu1848+SG打表)
- input text表单中嵌入select选项的方法
- C++语言中的四种类型转换
- HDOJ1181变形课(DFS)
- 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
- CodeForces213C.Relay Race
- hdoj 1342 Lotto 【经典DFS】 【附上三种DFS写法】
- cocos2d-x学习之box2d物理引擎打砖块
- 黑马程序员——Java基础---跳转控制语句与循环语句练习
- div width 100% 左右滑动条问题
- scala学习笔记01-环境搭建
- Java中static 和final的区别
- hdu 2845 Beans dp
- JQuery中$.ajax()方法参数详解
- 一图看尽Docker容器文件系统
- (转)Android--sharepreference总结
- android音乐播放器的音频焦点控制
- linux 下用户管理命令基本应用
- DFS